Quote from @Nathan Gesner:
If a tenant pays late more than twice in one year, I won't renew their lease. If they bounce a payment (check or ACH) more than once, I will only accept cash, money order, or cashier's check. If I have to serve a 3-day Pay or Quit more than once, I will get rid of them.
When you let little violations go, they eventually grow emboldened and hit you with large violations.
I'm glad I'm not the only one who thought this. "Eventually paying rent including the late fee" does not a good tenant make. Coming from a landlord, "at least they are paying" I think, reinforces a negative stereotype in our industry.
If they do not have respect for this part of your signed contract, they will also flout other parts - whether or not you are aware of it.
I would press them for a notice to vacate in writing for May 1, and if they hesitate at all, I would make sure you issue you own notice to terminate/non-renewal in plenty of time to be compliant with your jusidiction.
I think you know this already, but I would not have let them go this long without paying for damages. In my lease, the invoiced damage is due as additional rent on the very next month. So, they would have a balance due and owing if they did not pay.
Let's hope they get out of there without too much more of a loss for you. We'll see.