Let me tell you something: hard work DEFINITELY plays a big role. I'm not saying "talent" isn't a factor too, of course. Other than sharing this, I'm not sure what kind of advice I could have. At least on paper you've done as much as you can.
If you allow me to guess something about your person with no basis at all: is it possible you just don't enjoy it? I know that for myself if I enjoy something I spent a lot of time thinking about it, even "down time" when your mind just wanders. I've always enjoyed little problems, and I can get lost in them for hours. If you do that a lot it's impossible not to get better at solving little problems. I think this possibly one overlooked aspect of "do something you enjoy". It's not _just_ that you'll get more enjoyment, it's also that you'll be better at it.
Good luck.