Or you can demand that the terms of the contract be honored. They can stay through the end of July. Period.
Or, being a nice guy, you can allow them to stay through the end of July, then at least partially compensate them for August. (Maybe offer to pay the storage fees on their furniture and belongings.)
What you don't want is for it to drag on any longer. If they're building a house, it might not even be ready by the end of August. And then you get into the new school year, so if they haven't moved by then, they may want to stick around for a while longer.
You need an absolutely firm end date.
See what your Realtor suggests.
Hope that helps.