What is a guarantee?
If I guarantee a room with a credit card, I expect do be charged for the night even if I don't show up. Why would a hotel have the right to sell a room that has already been paid for by me? If I don't show, they get paid twice for the same room? And if I do show, I get walked? So it amounts to a one way contract where I guarantee my performance and the hotel gives no guaranty of their performance? Generally, to be enforceable, a contract must have consideration by both parties.
I would argue that the hotels imply that they have guaranteed a room and expect me to pay for it in order to receive the guaranty. If there is actually no guarantee, what is it that I am paying for? (just a space available accommodation?) I shouldn't have to pay for that.