I.e. just because Apple requires you to do things in 24 hour increments does not mean your billing has to expose it in exactly the same way.
That doesn't mean the business has to charge the user for 24 hours. You could charge for 6 hours and then just let the Mac sit idle and unused the remaining 18.
You're eatting the cost of that unused time, but if its a differentiator that leads to more business than it might still be worth it.
EDIT: To be clear, imagine a case where the user has 24 hour sole access to the Mac. They could use up 24 hours if they wanted. But usage is tracked per hour, and they're only billed after the fact based on how much time they actually were running something during that 24 hour window.
For Amazon EC2 the case is different since it doesn't allow VMs but only possible to get dedicated bare-metal hosts. Obviously Amazon could offer VMs but they would not because the current way allows them to charge 24 hours even if user uses the host only 1 hour. And obviously no body big enough challenging the status quo and impacting AWS' revenue hard enough.