I'm old enough to remember the days of 8-bit computing and the ubiquity of BASIC. Those were good times, but the world has moved on. The problem isn't the language -- GUI's simply changed the rules of the game.
Text (command line) programs can naturally be written a linear procedural fashion. Cause and effect are clear. Display something, wait for input, act on input, rinse, and repeat. Classic BASIC fit this model well, and people could easily learn it. You could go from zero to useful in a relatively short time.
At a technical level, GUI programming is inherently event driven. Originally this took the form of event loops dispatching messages, with more object oriented approaches evolving over time. Classic BASIC does not fit this model, but can be extended to do so (e.g. Visual BASIC). The problem is that the learning curve is steeper. Event driven programming is hard for non-programmers to wrap their minds around.
Another problem is that modern computers come with lots of beautiful GUI-based software, and creating similar software takes considerable knowledge and effort. It's MUCH harder for a newbie to create software that looks and feels like "professional" programs. I imagine this could be very discouraging. I clearly remember the feeling of pride and accomplishment I felt back in the 8-bit days, when my own programs met, and then exceeded the standards of the day. I was able to go from zero to that place in a reasonable amount of time; now it might take years.