I don't think, it's "2 rooms left at the hotel" or even "2 rooms in the hotel left (at this price)". I believe it can be "2 rooms left on [whatever booking site]" — perhaps because there is additional room inventory withheld from the web site. Or that additional rooms are currently "unpriced" in the database, and that price is generated at display time.
So after you book the room, another room can be added to the available inventory, and now there are "two rooms left at this price" again.
I did a bit of traveling last summer (mostly using Hotels.com ). There were times when I booked the "last room" and then checked again after booking and there was magically another "last room" available at the same price.