I have been really focusing on my motivation and willpower lately. I used to have a very similar scenario to what you describe.

What works for me is this:
1) Recognize that my willpower is limited, like a muscle it can be exhausted and needs rest.
2) Recognize that when I'm listless that it's not a moral failing, it's essentially my willpower being exhausted.
3) Never feel guilty for that feeling of listlessness, instead use it as an opportunity to rest.
4) Pay attention to what types of rest work most effectively.
5) Never try to override this rest unless it's seriously important. (And not everything can be seriously important).
6) Recognize that you don't need to feel driven to get things done. You need to do things to get things done.

When I exhaust my will, I suck at maintaining priorities. I drive on feelings, and unless I can work myself up into a stress-filled frenzy, I'm going to do the things that I'm not supposed to be doing. However, if I do work myself into a stress-frenzy, I'm going to be working erratically and inefficiently and generally be a giant pain to be around. A lot of people live in this state to cope with these problems. Drugs, caffeine, distractions, over-exaggeration all help you maintain it.

When I'm working comfortably with motivation to spare, I can choose a task and do it. I can make a plan and stick to it. I'm very efficient relatively speaking. The most noticeable thing though is I'm a lot less emotional about the things I'm doing. I'm not angry or irritated, but I'm also not really excited either. That's not to say I'm not passionate or really interested, but I'm calm. The sort of emotional outbursts are stressful, and just being under stress drains my will.

The biggest difference I've noticed though is that when I'm able to work myself down into that calm motivated state, I'm less affected by trepidation and apprehension. I don't feel guilty about the things that I have been putting off; part of that is because I've committed to not feel guilty, but a large part is that I've got some control over my feelings. When I'm stressed and my will is exhausted, I hate myself for the things I haven't done. When I'm motivated I will pick something that has been cast aside for 3 weeks and just do what needs to be done, not feeling guilty or shameful, just continuing.

The more I can keep myself in the second state, the easier it is. I don't get as stressed, so I'm less likely to fall back into the first state. So ultimately, the real challenge is how to get back to the calm motivated state when you're in the stress-frenzy state.

The simple thinking is that "I want to get stuff done" so you push yourself to work harder and frustrate yourself that you are failing. But that generates more stress and makes it harder. The less intuitive path is to let yourself rest, and not let yourself get frustrated and stressed about it. Stop procrastinating and start resting. The difference between procrastinating and resting is really just that in the former you're worrying yourself over the things you're not doing.

I've always had up and down moments. In my down moments I can be useless. So instead of trying to never have down moments, I try to make the most of them instead of struggling with them, and never spend my up moments regretting them. Over the long term this has lead to my down moments being not as bad, not as long, and less frequent.