From the thread, it sounds as if they don't even pretend this is about cleaning, they're just saying "we're a smoke-free hotel, so smoking costs $500 as a punitive measure, period".
I wonder if they could legally separate this from any real-world activities completely? During check-in, put a clause in the contract "if our partner company says so, you have to pay $500 extra. By signing, you agree to that" - without any reference to smoking at all.
I hope this wouldn't be legal, but it sounds like it could be.