Wifi is only ever going to work when you're close to a router that provides a suitable signal for it.
BT Wifi works (for those who use BT for their broadband connection at home or for those who otherwise subscribe to it) by providing two signals from all BT home hubs (unless the user has disabled the 'public' one). One signal is for use by the owner of the home hub and the other is available for use by any other subscriber to the system who happens to be nearby. So, when you log into BT Wifi, you're using a short-range signal that's coming from someone's home (or business); as soon as you move away from their property, the signal will drop.
Otherwise, when you're away from your own home (or office) wifi, you'll need to find a free wifi signal, such as that available in larger supermarkets and (during normal times) in most pubs, fast food restaurants and coffee chains.
You simply can't expect wifi to work in the same way that the signals from phone masts do. Mobile phone signals are designed to cover wide areas, hopefully without any gaps. Wifi signals use low-powered transmitters (within routers) that aren't intended to carry for more than about 50 metres at the very most.
You don't need a new phone. You simply need to accept that, when you're away from home (unless you're staying in one place for a while, like a pub), you'll need to get your data through the mobile phone networ, rather than via wifi.
Consequently, if you're already using a lot of data, possibly at great expense, with your current mobile phone provider, you might need to look for a better deal elsewhere.