This should be pretty straight forward! If I had to approach this without the use of scripting, I would create a formula field on the reminders table that evaluates the date/time value on your record and returns a value based on where it falls within the following criteria:
- Morning Reminders: After 12:00 am and before 12:00 pm
- Afternoon Reminders: After 12:01 pm and before 5:00 pm
- Evening Reminders: After 5:01 pm and before 11:59 pm
From there, you have a couple of options in terms of how you want the automation to behave.
You can configure your automation to fire on a per-record basis using the value returned from the formula, or you could configure two or three automations for each batch of reminders you want through the day.
More specifically, you'd have a morning reminder automation, an optional afternoon automation, and an evening automation. You'd then build a reminder message to yourself using the data that is aggregated in the record batch.
Both of these options have their pros and cons, but they're not the only options. They're simply some of the first that come to mind.
The specifics of how you do this come down to what your requirements are for what you're building, so there's only so much we can theorize here.
Happy to answer any questions or explore anything you might be curious about after reading this.