Past that, I've struggled with this feeling a bit, and this is what I've come up with (YMMV, of course, but it works for me):
- Keep trying new, productive side projects--just a half hour every couple nights, or something. This could be open source work, MOOCs, reading a book, whatever. Anything that makes you proud of yourself the next morning.
- Eventually, you'll stumble upon something that grabs you--you wouldn't care so much about improving if you didn't enjoy some aspect of what you do.
- If a project grabs you, let yourself get carried away. Buy some red bull. If it doesn't, pat yourself on the back for trying, take a few nights off, and keep trying.
The trick here is to keep moving until something clicks. The advantage of this approach is that you're still doing productive things, but you also have plenty of time to goof off between tries, and (at least in my experience) you'll feel less guilty about it. Forcing yourself to spend your free time on something you don't enjoy to the nebulous end of "self-improvement" will accomplish nothing and make you miserable.
EDIT: after re-reading the OP, I wanted to add that all this is completely optional--if you really do enjoy this self-improvement shtick but have trouble getting started or pacing yourself. There are many, many software developers with great jobs that work 9-5 and go home to their families or non-technical hobbies, and there's absolutely no shame in that. All the corporate blathering about "passion" is just a ploy to depress market wages.