Being "self-driven" is both a talent and a skill. Some people are naturally good at it, but everybody can get better with practice. It sounds like you have been working hard at it! I spent 5 years teaching ESL at a high school and in that time read many, many papers on motivation. One of the things I discovered is that it's still really an open question how it works. I can tell you from my own experience, though, that circumstances can change your motivations completely. That probably sounds obvious, but it works in subtle ways. Working in an office, not working in an office, having a partner (both social and work versions), etc, etc, can change things dramatically. It's not just about finding a technique to concentrate.
What I will say is that freelancing is playing on hard mode, so it doesn't surprise me that you find it hard. That may or may not have any relevance to your ultimate questions, unfortunately. If I were to bet, making your job easier will make you more successful at this point in time (though you may want to dial it up again at a later point).