The argument against is often phrased in such a way that enforcing, or even defining, separate ‘professions’ for individuals in software careers and those professions having differing requirements, is seen as a morally negative stance on its face. As a particularized example, one of the frequent arguments would be that a hierarchical structure would inevitably emerge among people potentially working on the same application. This argument is predicated on this stratification being inherently bad.
I think the push back on separating roles like you propose would be instant and vitriolic. I got slammed hard for saying that a person who had no concern or any interest in how data structures in a given application were implemented should not be hired as a ‘system programming’ dev.
I absolutely think you are correct at the theoretical level, but practical implementation of the idea is almost a non-starter.
Overall, university diploma means absolutely nothing to me - sometimes it's a minus (because it sometimes grows a specific attitude that has no place in my teams). The only working indicator is time spent doing the job + personal interview.
Imagine, if you will, the practices that would have been taught to the "By the book" computer engineers who graduated in 2000. Would you think it happy to have those practices dominant, by regulation, today? Would you want to have the task of lobbying the professional standards committees to update the curriculum so that a decade from now the thing you think is important would be accepted practice?
I think that the difficulty we have updating e.g. language versions or crypto practices is a good model for how well our field responds when we do things more formally. Imagine how long python 2 would be around if it had been the basis for professional credentials for decades!
That said, there is probably not such a gap between a programmer and a computer scientist--especially in terms of the skills needed for most software jobs.
Of course, many startups don't have a software architect and they allow "regular" engineers to design the system, but that wouldn't change just because the industry decides that it isn't the programmer's job to design systems.