"Suppliers charge what the market can afford"
Only monopolists or oligopolists can get away with that.
Look at e.g. the oil market. Buyers in the UK can afford a higher price for oil, yet miraculously we pay the same price (excl. tax) for oil as the Latvians. That's because oil is fungible and is traded in a competitive, market. Phone minutes/texts/data are fungible too, so the market should be just as competitive.
One way to ensure a competitive market would be to allow users to change network instantly, e.g. via a setting in their phones. Within no time at all the price of minutes, texts, and data would tumble to just above cost price.