you would be better off just moving to another provider, rather than messing about with VM. A new sim 'might' work, but probably only for a while, then the same problem appears (several posters have had this problem) Been there, done that, without success, sadly.
This thread has been running just 2 weeks short of a YEAR, and to date, VM are NO NEARER solving the problem, despite telling us every so often 'that they are working hard to find a solution' yet all that happens, is, they ask for information, (which it appears they do nothing with)
I have had to get another cheap PAYG sim, and carry 2 phones, because I cannot get 2FA or OTP messages from bank, building society, credit card firm, etc... (strange how other networks don't suffer this problem, just VM) because I need these messages, and VM are not interested in actually DOING anything to provide them...
Quickest solution, with less hassle and hair tearing is go elsewhere....Simples!!
They escalate your problem & sort it one way or another.
It worked for me after many months of issues. I tried a new sim & a factory reset on my VM phone all to no avail.
In the end it was down to the settings on my phone. Check the Message Centre phone number in Messages settings. Also, on the main phone settings, check Connections > Mobile Networks > VoLTE calls to SIM 2 is off.