I think the reason that the British public 'put up with it' is that fundamentally the banks don't want poor people as customers.
They like to attract middle income and upwards customers - who are able to have free banking (because they just have an 'insurance' overdraft limit just in case), low interest loans through mortgages, credit cards and personal loans. People in that position get a good deal from the banks and they are the customers that they want.
Unfortunately the poor get a really shitty deal, but that's the free market at work. The bank doesn't care if they lose their custom or not, those with CCJs etc can't even get a bank account elsewhere.
If one bank started charging everyone a small fee each month then they would lose the customers that they want so it isn't a viable plan in terms of the business.
It's really shocking to read threads like this I think. To change it would require regulation and there would be a lot of squealing from those who are more lucky.