There is a fundamental shift of perspective that I think is necessary for people to find work that will fulfill them. More important is to look at what things you enjoy, and then figuring out what exactly appeals to you, really understanding yourself and how you tick, and how that can be applied elsewhere.
I spent much of my childhood gaming (CS, Battlefield, Starcraft, Warcraft 3, Deus Ex, C&C RA2, Dune 2, etc.). It was fun, sure, and going by "look for something you enjoy", maybe I should've become a pro-gamer. But if I look at how I actually spent my time, there are much different conclusions to be drawn about what I like. I liked being in a team with a collective goal. I liked the communication (and arguing). I liked solving situational challenges. I liked being challenged. I liked researching strategies, techniques, and everything around metagaming (countless hours "wasted" on TeamLiquid). I liked learning new things and incrementally improving my skills. I liked documenting and explaining things. It's 100% clear how that translated in a career context, but at first glance, shooting people in CS was just "fun".
Most people don't find their "fun" activities enjoyable all the time. Running can be fun, but it also is tiring and sucks sometimes. Practicing a musical instrument isn't the most enjoyable, but playing in a band and nailing songs is. Lifting isn't "fun," but excelling at a sport is.
Point being that not liking the boring parts of an activity, but still finding the activity as a whole satisfying, is something that most people would consider to be an activity you enjoy.
Where I disagree is the claim that you don't enjoy programming. If you enjoy most of the component parts of an activity, my claim is that you actually do enjoy that activity.
Let's take hiking as an example. I can claim that I don't actually like hiking, I just like being outside, being in the forest, and walking. Hiking is therefore just one of a multitude of activities that could meet those desires. However, because my "likes" comprise the vast majority of the appeal of hiking, it is fair to say that I actually do enjoy hiking.
Ultimately, this is a semantic distinction. My claim is that by the commonly used definition of an "enjoyable activity," I would classify programming as an activity that you at least moderately enjoy.
What made it click for me is not pushing myself too hard. I used to run at an intensity I realize in retrospect I could just barely sustain. This worked, in that my fitness increased and I got faster, but it always felt horrible. This was the case when I ran alone, or with my partner - when we run together, we tend to subconsciously push each other to go a little faster.
Then, we started running with a much more extroverted friend who likes to talk a fair bit. This put a natural limit on the intensity, and apart from enjoying the socializing, I also felt physically better. It also worked fine for fitness, and I got a PR on a 10K race while training this way.
Now I find that even when I run on my own, I'm much better at finding a pace I can sustain comfortably, and I enjoy it!
As a casual runner, I'm very happy I've come to this realization, but I'm sure the experience is very different for someone who is either very unfit and finds any speed uncomfortable, or for someone who's training seriously and needs to push hard to attain their goals.
You can also practice with purpose and get to a peak of your ability.
I gave up a lot of hobbies because I didn't have mentor or guidance factor to help me get past the wall. You can only learn upto a certain point on your own. After that, it requires quite a lot of attention and focus to not suck.
But the context being "something you enjoy", being passionate about something usually comes with self-motivation to improve and become better at something, and usually one finds a way to get better.
The stagnation you mentioned is usually with people who aren't that passionate about the things they are practicing, or just using it as a means to some other ends.
I would like to add though that "being good at something" is not the path to enlightenment. Try "something you enjoy" instead, and you may be happier in the end. Given an initial epsilon of talent, the above adage posits that you will get better at it, and in my experience, motivation to do a task is central predictor of how good you will become at it.