Keep the money in pounds and use the rate that you get at the moment of any purchase/withdrawal (keep in mind that you have additional rate fees on weekends of .5% if I recall)

OR

Transfer all pounds to dollars when feel like you have a good rate and you don’t need to worry about rates anymore during the whole trip. When you get back you can transfer to pounds again at that day rate.

If you get charged a fee is not from revolut side, at least while you’re withing limits.
I cannot help you with USA local fees, but i’m sure you can check that online or other user might explain better this question.

It should be calendar month. So if you withdraw 500 on 28th for example it will reset on 1st of the next month.

I will advise you not to use Revolut for pre-authorisation at the hotel. Use any credit card instead and then settle the bill with Revolut card on check-out. Otherwise, you will be charged twice and the pre-authorisation transaction will only reverse after 10 days which may leave you short of cash.