It still takes discipline, I don't wake up every morning dying to program - sometimes the task at hand is boring, sometimes the motivation is not there, sometimes a little bit of a and a little bit of b. And I still code to a good standard of quality: I try to balance not being overly perfectionist, with making my practice deliberate so that I keep improving. For example, I test, refactor, document and plan with a backlog. But removing users from the equation lifts a massive weight from my shoulders. Like the article says, I leave that for work.
In that trying to force it is like Sisyphus. In giving up the battle, you are freed up to actually do it.
So your exaple is great, you had a good intention but once you gave up that structure then you actually got to the goal.