I'm stuck in a dilemma at the moment.
I have had a bit of a mixed situation with this free upgrade (volt) with VM/o2 all because the o2 account is in the wife's name, just the name everything else is under my name email/bank they just won't budge for now!!
...but the wife is worried about losing the phone number
I'd go with full fibre, though perhaps not with BT, or at least use Quidco/TCB if the contract termination fee is so small (you need to give 30 days notice anyway).
In the circumstances you describe it's (almost) impossible to loose the number, it's a bog standard number port at the same property, no change in address etc. The only possible exception to this would be if VM had done something like a switch split, in theory they'd refuse to issue the number if the covering switch area had changed even though it used to be valid, but I can literally only think of one single switch in one franchise and area where that was a thing in and it wasn't Doncaster.
In terms of the name issue, the long winded solution is to arrange a TOR on the VM account or name change on the O2 account, but realistically they just need to change the policy so that two qualifying accounts registered at the same property are accepted, yes a small amount of abuse will happen, but that's offset by the agro of dealing with thousands of complaints because people aren't married or haven't updated maiden names to married names or vice versa.
Either way, jump ship and enjoy fibre