Create a backend workflow with 2 actions:
The first action will send the email. This step will do a search for Users (or whatever datatype it is you’re running the workflow on) who’s birthday is today (i.e.
birthday ≥ current date/time: rounded down to day AND
birthday < current date/time: rounded down to day: +(days) 1
The second action just schedules this workflow to run again tomorrow (i.e.
current date/time: plus (days) 1 or
current date/time: plus (days) 1: change hours to 8: change minutes to 0 etc.
Then you just need to kick the workflow off initially - so just have a button on an admin page somewhere to get it going - schedule it to first run at whatever time you want it to run.
That’s all there is to it.