As with every issue related to sending mail from php I've ever come across, this is nothing to do with PHP and all about the configuration of the MTA. It doesn't matter what you do in terms of scheduling when you send mail nor how you tweak the PHP code since it appears that the MTA only processes the queue every hour.
If you want mail to be sent as soon as possible, then you need to change the MTA settings. That's not going to be practical on most managed services, let alone a shared one. You'll need to find a different provider. But don't expect providers to publish information about the specifics of how the MTA is configured.
Or keep your code where it is and try connecting to a different MTA (you'll need a SMTP capable PHP client - e.g. phpmailer) and this presupposes that your service provider has configured the server to allow outgoing SMTP connections and can resolve IP addresses.