There is a built-in post scheduler feature on Mastodon, which lets you write a post in advance and set it to be automatically posted at a particular time. For some unexplained reason it is not accessible from the official Mastodon interface, possibly because the developers have not written an interface for it yet.
However, it is still there and works fine, and you can access it through third party apps such as Tusky and Fedilab ⧉. You can also use third party websites such as FediPlan ⧉ and Buffer ⧉ to schedule posts on Mastodon.
If you’re comfortable using Github, you can vote for an official Mastodon scheduling interface to be added by giving a thumbs up at this issue ⧉.