If they have nothing to do and have completed their tasks, why should they stay? Motivated for what exactly?
You have to accept the fact that some students don't have a grade maximizing strategy or attitude toward every course. Perhaps their time can better be spent on other courses once they reach the point that satisfies their goals. They may not consider your course or field to be essential to their goals. They may not be driven by grades as a result. If they think they have the knowledge they need for their real goals, then, in their mind, they are done. A better grade isn't an enticement.
You need to give them a reason to stay. You could add requirements, making the project harder with the hardest tasks worth only a few points. You could make the project into a group project where collaboration is required. But you may need to make the project more inherently interesting to them, so that they want to do more without prompting by carrots or sticks.
You could use a Scrum-like process with a project "backlog" and feed new requirements to students when they complete what they have. Of course you need to expand the scope of the project so that in the last days there is still something to do, but do it in a way that doesn't result in grade disadvantages for those that don't go beyond the basic requirements.
But make-work will not motivate them. You need to be more subtle.
Find a way to have a discussion session with those students who finish early to learn why they aren't more interested in staying.
I agree completely that letting them evaluate their own work is a good thing. Adding risk to grading would be a step backwards.