If you have to work on weekends to meet deadlines, have you considered that the problem is not about yourself but about the deadline?
It's more the constant backlog of stuff that needed to be done yesterday, more than a deadline for a specific feature(s).
I have zero control over that, which inevitably leads to the stress of work spilling into my personal life, weekends etc.
I'll feel the need to do some work at 10pm on a Sunday night every other week, just to keep things afloat.