I cannot comment about Spanish law, but in the UK terms in a contract whether consumer or business contracts have to be "fair" and the stronger side isn't allowed to be advantaged by it's better bargainaing position. In the UK it doesn't matter what the small print says if those terms are unfair.
In my view it would be unfair to charge you a rate for not showing up that was different from what you had commited to when booking - so this shows one possible inherent unfairness in the contract. But it sounds like they have given you a new price and said you can have the room at the new price or cancel. Technically a contract doesn't actually start until you pay at which point the deal at the price is done and it sounds like you haven't paid. Until you've made a payment the supplier can come back and say they want to renogotiate.
However, it's clearly a promise of a contract and it's bad form to welch on a promise and I assume you've pointed this out to them.
I don't think there is anything you can do other than embarass them.