Google for "reverse bitpay" and you'll see requests for this that exist going back nearly 10 years. So based on that, the reason this doesn't exist is certainly because the payment card industry doesn't allow a merchant payments platform to do this. At least not at retail / point-of-sale.
As far as for the freelancer / consultant use case, there are billing services from BitWage and Deel, where your clients pay with bank transfer or maybe even payyourment card, and then the billing service converts that to bitcoin and you get the bitcoin.
There's also where, for its users in the U.S., Cash App provides a bank account for direct deposit from an employer. Since the payment network for banks in the U.S. (ACH) is "pull" only (at least for general retail bank customers), this might not work for most of your clients. But if all they need is your bank routing number and account number, then they can pay to the bank account number that Cash App provides to you.
Ultimately, the better method (for you) is to suggest that your clients onboard with a service like Strike, or Cash App, or an exchange, and then they can acquire bitcoin themselves with which they use to pay your invoices.