You cannot be held hostage to the potential of a bad review. Even under the best of circumstances, there is no guarantee of a good review.
So this is a case of the lesser of two evils. You have options. One you've already listed which is to accept their reservation change, lose the remaining days from them in the HOPE that you are able to re-rent their days. They are happy, they get their money and you potentially get nothing. However, they may still choose to give you a bad-ish review for forcing them to find other accommodations in the middle of their stay, but less likely
You could tell them that they need to cancel as you will not be able to accept a reservation change at this date. They will be held to your cancellation policy which entitles you to 50% of the remaining days. They will not get to review you if they cancel but will likely be angry. They may not cancel so they don't lose the money, trash your place and still leave you a bad review. Again, no guarantees here. They also could reach out to Airbnb and try to get an exception to the cancellation penalty by claiming the apartment is not habitable at the current temps. Since you offered a window unit, Airbnb might side with you, but you never know, I guess it's going to depend on how hot it is in there. They would probably get a 100% refund of the remaining days. Sort of like the first option.
Personally, I get that you don't feel like you should be financially burdened because they don't want the window unit and they are hot. You might get lucky if you let them go and karma will be on your side and a better guest will come along with the newly opened dates. While my heart says make them cancel since not being cool is because they don't want the air unit (um, it IS March and it's not even that hot in the South yet, so maybe they just have the thermostat turned all the way up or there is a technical problem??), my head says that logically they are asking to leave so you should let them.