It is likely a bit of both. I had the same trait as OP. I would actually enjoy an intellectual challenge, but to see something through you also need grit and you must 'grind' your way through boring parts and dead ends.
Also, when starting out everything looks neat and shiny, and along the way there are ugly problems that don't neatly fit into the conceptual framework you started out with. Things start to get messy, there are workarounds, less than ideal code from finding the right approach, etc. The stuff that I refactor and just 'deal with' in my paid job, but doesn't really 'spark joy' in my private life. Throwing it all away and doing something else gives that green field feeling that anything is possible yet again.
Also, when starting out everything looks neat and shiny, and along the way there are ugly problems that don't neatly fit into the conceptual framework you started out with. Things start to get messy, there are workarounds, less than ideal code from finding the right approach, etc. The stuff that I refactor and just 'deal with' in my paid job, but doesn't really 'spark joy' in my private life. Throwing it all away and doing something else gives that green field feeling that anything is possible yet again.