I lost some of my belongings, including a leather bag, credit card, laptop, etc. As I realized my card is missing, I called the credit company and closed that account, but before that happened, someone used my card to book a hotel in the USA. I got the name of the hotel from the credit company and called them, and they said they booked a room with that card but will cancel it. The info I got from hotel showed that it charged $1 to my card, but the booking is still there. Can the hotel demand that I pay for that booking, as the booking status shows it cannot be cancelled? I have never stayed in hotels or visited the USA.
The info I got from hotel showed that it charged $1 to my card
This is an authorization rather than a charge; it indicates that the hotel checked to see whether your card was valid, but does not tell you whether they submitted an actual charge. As it is only a dollar it will have no practical effect and you should expect it to "fall off" on its own.
As I realized my card is missing, I called the credit company and closed that account
Unless you are using the wrong terminology, this was a mistake on both your part and the card company's CSRs. You should have reported the card lost rather than closing the account; depending on your card issuer's exact policy this will almost certainly reduce your liability for fraudulent charges, even if they were made while the card was still active.
Can the hotel demand that I pay for that booking, as the booking status shows it cannot be cancelled?
They could submit a charge anyway, but they have already told you that they won't do this, and submitting a charge would not force you to pay but rather force you to have to use your card company's dispute resolution process.
It seems likely that the hotel's online booking status is telling you "can't be cancelled" in the sense that it couldn't be cancelled at request of the customer; probably their online system doesn't match up perfectly with their actual procedures.
It may be advisable to call the hotel back and ask for an official fax on hotel letterhead, or email from a hotel address, confirming in writing the verbal statement from them that they agree not to charge your card for this fraudulent booking. This should protect you if it goes to a dispute.
And for goodness sake's, report your card missing properly if you haven't done so already.
You don't indicate in which country or at which institution the card account is held, or what type of card it is. All of these factors may affect your liabilities.
(For example, your liability on a lost/stolen U.S.-based credit card is up to $50 if the loss or theft of the card is reported after transactions have been made. But your liability is $0 if only the number, not the physical card, was stolen, and different rules also apply for debit transactions).
In postpaid bookings, the hotel may make a test charge to confirm that the card is valid and that credit is available. This is likely the $1 charge you see. Because it is only $1, it may not have triggered anti-fraud detection or indeed verification requirements in the first place.
You should contact both the hotel and your credit card company:
The hotel needs to know to cancel the reservation and that it was not properly made in the first place. Otherwise, the thief may still be able to exercise the reservation in your name, since the test charge had previously been approved. Since this is a case of fraud, I would not think the original reservation could be legally enforceable.
The credit card company needs to know that your card was stolen and to block transactions attempted against the card. It is not clear from your original post whether you made this report. Canceling the account may not be sufficient; in the U.S., for example, charges attempted against a closed account are (were?) interpreted as signalling that the consumer decided not to close the account, upon which the bank could re-open the line. (this may have changed with legal and regulatory changes in the last few years, but again, your jurisdiction may differ).
Given notice, the credit card company will refuse any charges the hotel or anyone else attempts on the stolen card, and will attempt to re-claim charges made after the card was reported stolen.
I would call your credit card helpdesk for advice. I had a similar issue some time ago and disputed the transaction. That resulted in a reimbursement and a request to the seller (in you case that would be the hotel in the US) to prove that I approved the initial payment with either my signature, official ID or PIN authorized transaction. Usually transactions below a certain threshold are not verified, so these transactions can easily slip through, but the risk then lies with the party accepting the payment.
So simply cancel the payment.
I assume this is the default global policy of the major credit cards. If it isn't please tell, it would be interesting to know if my cc company has this service only locally.