What you speak of is a failure of mathematics education, frankly. I meet too many people with this viewpoint, and regularly have to explain that there's all sorts of math out there that would align with one of their skills. People are not taught mathematics from a problem solving interactive puzzle perspective, they're taught it from a rote computational perspective, removing all the sense of wonder and pleasure from doing things within a system of axioms.
I see the argument about chemistry, but I do think there's a very strong crossover of doing math and building software (in the large). In math, you begin with a set of base known statements. Whether starting from the axioms, or working within some system, you begin to build a vocabulary of the system, a feel of the way objects within the system interact, and an understanding of the limitations of the system you're currently in. Through the course of needing to get things done, you combine these various abstractions together to create more useful ones, constantly making your system a little bit more powerful. Often, taking steps back from your system and combining things into elegant ways gives insight into other patterns present in the system, and recasts solutions in slightly different lights with hints as to what they could have been, had you known what you know now. Then over the course of time, you begin to bring in new foreign systems, which you might not understand fully, and you use inelegantly. But again, working through issues, you build up that vocabulary and intuition to solve problems in your space, constantly putting tools and tricks into your belt on how things could fit together. Occasionally something will be insufficient in your tool belt, or a concept you weren't quite clear on will come up in your problems, causing you to go back, learn a thing, and come back armed ready to keep making progress.
To me, that all sounds like what I do when I'm building software.