I think the justification for charging the customer twice comes from the banking infrastructure. It’s quite interesting that all these banks are in cut throat competition with each other, but have to co-operate in order to share ATMs and so offer more convenience to their customers.
Recently (in England) IAD have sprung up (independent ATM deployers) These guys are not banks but want to make cash out of peoples lazyness, so they buy a bunch of ATMs (which are quite pricey ), put them in prime locations (casinos, strip joints) and charge you for using them. (If you ask for £20 they send a request for £21 to the bank and pocket the difference). They also charge the bank for offering you the service. The bank can choose to pass this charge onto you (Although all banks in the UK have stopped doing this) and call it a disloyalty fee. So hey presto you’ve been charged twice.
It’s all part of people having more cash and being willing to pay for convenience, 10 years ago no one bought bags of mixed salad. Making salad is easy, but I’ll pay a premium to save myself 30 seconds worth of shredding lettuce.