You are paying a startup cost every night and it is eating a third of your time. Kill that first, before you try to find more hours.
The habit that fixed it for me: stop mid task, deliberately, every session. Not at a clean stopping point, in the middle of something small and obvious, and leave a one line note in a file called next.md saying exactly what the next physical action is. Something like: add the email field to the signup form, file is routes/signup.js line 40.
The next night you sit down and there is no decision to make. You just do the thing. Ten minutes of the session goes back to you, and more importantly you skip the reading phase where you talk yourself out of starting.