This is a hard one, and to be honest, I don't have this fully figured out either. But I'm much better than I used to be. There is always more work to do, but if you're honest with yourself, it can wait until tomorrow.
This is what works for me: Every evening, before I clock out for the day, I look at what I need to do the following day and break it into chunks of time — one hour for catching up on emails, four hours to write an article, lunch, three hours of editing time, etc. Then, I set a hard end time.
There are, of course, certain days where starting early or working late are a necessity, but in most cases, the work can and should wait until tomorrow.