I think your premise is flawed. Generalists are not "dabblers". They are professionals just as much as specialists are. Either you have a very odd (and incorrect) view of how software development is done, or you're presenting a straw man that doesn't have anything to do with the article's premise.
I find most specialists useless when it comes to architecting and building a full system, and often when they are a part of a team, focused on their specialty, they build in a way that is difficult to fit into the whole.
Obviously there are good things, too: my knowledge of things like data science and graphics is limited; if a part of a project called for deep knowledge in those areas, I'd be happy to have a specialist on the team. But unless they are more of the "T-shaped" type the article talks about, they need a lot of hand-holding when it comes to anything outside their domain.
Generalists bridge that gap, and handle necessary concerns that most specialists don't even consider, let alone know how to handle.
(Full disclosure: I consider myself a generalist, though at times I have ended up diving deep into particular areas when projects have required it.)