Just replying to the last part -- I have two bank accounts, I don't pay any fees or charges whatsoever. Over here banks usually make the majority of profits from loans and mortgages, and investment fees. I suppose it makes sense to keep the daily banking charges to a minimum to ensure the happy customers will come to them with their financing needs.
My bank charges nothing for my accounts either. And I'm in Iowa.
Accounts are free, because the bank benefits from having your account in their ledger. They make loans and investments using that balance. Its the business they're in.