The question is kinda dumb, how can I set a deadline for myself and not delay it?
Part of self discipline is being able to say I want to finish this project or feature this weekend. Another part is knowing when to delay it or even walk away.
If it's side project, then it should be lower priority than your main job. I would say work is second priority to family needs as well. So it's ok to delay your deadline a reasonable amount of time as long as you have a good reason. Just make sure you draw the line and stick to it on what is considered a good reason.
Some side projects I do just for self-education. I find I learn better if there is a realistic and potential useful idea that I can implement. I would say that I never finish 75% of these - and I'm ok with that. These projects are things I did to learn the technology and I usually achieved that goal even if I didn't have a code to release. Usually, the part that made me quit is realizing there wouldn't be a good audience, that there is something similar enough out there, or my idea is impractical.
Hofstadter's Law is also a useful model for understanding projects. Setting deadlines won't change that either.
If what matters is finishing, forget about when it gets done. It's your project and it's ok to finish it when you finish it or not finish it at all. Other than in the form of goodwill, nobody else cares when or if you finish it. It's not a moral failing to quit doing something that you don't want to do when you are doing it for yourself.
Don't misunderstand me, the habit of finishing things is a somewhat useful habit. But the way to develop the habit is to start things that can realistically be finished. That's hard because things that can be realistically finished seem small and insignificant next to larger grander projects that are unlikely to finish.
Particularly if you are not working on the project in a team. Good luck.