To be honest, I think this is one of the hardest things about making games (or any creative endeavor); Finishing.
I agree with pretty much what everyone else has said. Here are some principles I use in my personal and professional game and creative development.
1. Start Small, Scope Smart: Choose a resonable scope that matches your current skillset. There is ALWAYS more you can add but try your best to limit "scope creep". Try not to add too much more than you originally planned.
2. Mark the Finish line: Define what finishing the project would look like. Have a clear vision of what the finished project looks like. Without that vision it can be hard to really pinpoint when you have actually completed the project
3. Set a Timeline: This has been actually the most helpful tip for us when trying ro complete projects. When you set a hard date when you want to be done and/or release, it really pushes you to finish. That's why game jams are great! They really force you to try and finish something in a set time-limit.
But like a few others have mentioned, discipline is key. Sometimes you're just not going to want to work. It just happens. But pushing through builds discipline and perserverance.
I encourage you watch this GDC talk by the developer of "The First Tree", David Wehle
He touches on how he managed to finish his game. Great principles and practicals.
But you got this! We all start somewhere!