What a ridiculous policy, especially since they don't take cash (which is actually more costly than taking credit cards thanks to mistakes and risk of theft).
I'm actually fine with hotels charging whatever fees and surcharges they want, as long as they quote only the complete and all-in total at booking and nothing else. If, at check-out, they want to give you an itemized bill that shows how they broke down the total you were quoted upfront into a million categories - credit card fees, resort fees, water surcharges, electricity supplements - then that's great. As long as you were quoted the accurate upfront.
Years ago the airlines used to have big billboards with "$1 fares NY - London" kinds of claims, but then $900 each way "fuel surcharges" and whatever. Congress finally put a stop to it and now you're quoted an accurate price upfront, with a receipt that breaks down all of the nuisance fees and legitimate taxes.