You should not return the 2 night's stay worth of money. The reason is this:
Even if they didn't come for the first two nights, having made a reservation/booking with you for those nights, means that they essentially made it impossible for your listing to show as available for other prospective guests and impossible for you to capitalise on that. So, this would be two night's worth of money that they prevented you from earning. If there were no extrenuating circumastances for them to not show up, you should not return those 2 night's worth of stay.
As for the final night, it's up to you. If I didn't have another guest lined up, I would be more strict with their check-out time. And if they could not leave within your designated check out time, then they should pay for that final night on the same grounds as the first 2.
My two cents.