EU bank cards will mostly allow free withdrawals across Europe (with some strange exceptions). Some countries like Belgium have fully prohibited national banks from charging customers of rival banks. It's not a technical/financial issue, it's a policy choice...
Regulation only says it must be the same price as at your own bank. If you have a cheap bank at home you have it in the whole Euro zone. If you have poor bank competetion in your home country and pay more you have the same issue when traveling in the Euro zone.
I have 3 cards that don't cost me a Euro cent. 1 is debit, 1 is de facto debit because the credit limit is nominal so I cannot spend money that I don't have in my account. The 3rd one requires me to pay the bill 2 weeks after its issued to avoid (high) interest. But they are all free if used correctly.
Why would they be free? Before the ATM we had to go to the bank Friday afternoon or Saturday morning (9-12 only) to get money after pay day. If you couldn't wait in the big-ass line, or if you just had something else to do, then you just didn't have any money! It was ridiculous! The ATM brought revolutionary convenience. You could get twenty bucks at 11pm if you wanted to.
I actually almost never use ATMs, anymore (I use Apple Pay, as much as possible, and plastic, for the rare times it is not accepted). I've had the same five-dollar bill in my wallet for a month. The place that I tended to use ATMs, was when I went to Tokyo, and they are definitely not free, there.
I haven’t paid for an ATM except when traveling internationally. The major banks screw you but if you pick a credit union or a few banks like TD Bank it’s easy to avoid.