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.