https://support.twilio.com/hc/en-us/articles/223181668-Can-T...
Many companies who do SMS for account verification check whether or not the number is hosted with a VoIP provider and purposefully do not send verification requests to those numbers. It's a fraud prevention tactic.
Sure you can. We do it all the time at my job, for sending reminders of appointments and medication refill notices and such. We have test recipient numbers on all of the mobile networks and the big VoIP networks like Republic Wireless and Google Voice. I even have a test number from voip.ms on there.
The requirement is that the owning carrier of the number have a partnership with the short code provider platform. Twilio famously doesn't want to pay for that partnership. Bandwidth.com, that operates the bare metal of a lot of VoIP companies, does pay for it.
Most likely they are sending SMS from a short-code - and a short-code cannot send SMS to a non mobile number.
Twilio numbers look and feel like "mobile" numbers (you can send SMS to/from them, for instance) but they are not.
So it's not so much a refusal on the part of your vendors (Apple, for instance) but something they simply cannot do.
Ironically, twilio themselves requires a 2FA process that cannot be satisfied with their own product.