The problem with that is you might still get a huge bill if something goes wrong, then they try to charge it to your card at the end of the day/week/month/whatever, and it fails.
Now you still owe them the money, but haven't paid, so they tell you to pay on another card. If you refuse, they start debt collection against you and you could end up with your credit rating being affected, and maybe court cases and so on.
I want give the company an amount of money, then know that it's run out and I have to pay for more. You can set monthly limits (https://github.com/settings/billing/budgets), but if you are like me and have personal projects that you work on for a week or two a few times a year, that doesn't really work.
I know AWS, Azure, and GCP do allow for global caps. Azure has it with subscriptions for example. Not sure if it is only on recurring monthly basis. Having a pre-paid lump sum version available is nice but it would also open the door for denial of service if cash runs out. Maybe that is why it isn’t offered?