I think this long running buzzword-laden alchemy metaphor is getting in the way of the issue, so you'll forgive me if I simply scrap all that and talk frankly.
Can they and their students be mass-produced?
No.
Humans are terribly complex creatures. You can't just create one single process that would somehow magically be able to teach all people a skill.
All you can ever do is to try to find a way that conveys the significant knowledge and concepts to them.
Sometimes there will be techniques that work for multiple people, but given a room full of 30 random people, you will always need to try several different techniques before everyone can have some understanding of a subject, and even then some will comprehend it better than others.
It's not an exact science, and it's not magic either, if anything it's closer to psychology.
If we cannot dig it up, or transmute it from other material
(schooling) or find a substitute, then what can be done?
Autism doesn't make you magically good at programming, nor does being simply good at English or Maths, nor does overall intelligence. (Generally being intelligent does help somewhat, programming involves a lot of problem solving.)
What really matters (in my eyes at least) are how much a person enjoys programming, how much drive they have to do it, and whether they have the skills to be good at it.
Enjoyment:
A lot of programmers are self taught*, i.e. they read books and articles and don't have a teacher directing them. Part of the reason for this is because most programmers enjoy programming and actively choose to do it, much like artists and writers often choose to do art or to write.
You can't make someone enjoy programming. Some people simply won't find it enjoyable. If someone doesn't find it enjoyable or get any kind of satisfaction from writing a program, that's fine, maybe programming isn't what they should be doing. You can try to make it a bit more enjoyable for people who aren't as interested, but that's about all you can do. You can try to make a subject more relevant to them (e.g. I had no interest in maths until I needed it for programming) but there's no guarantee.
Others will probably refute it, but I dare say that geekiness - being interested in video games, scifi and the like - does help here. That geekiness can be a powerful resource because it makes being able to program seem even cooler than it would otherwise.
* (According to StackOverflow's annual census/questionnaire.)
Drive:
One of the key differences between a good programmer and a bad programmer is what they do when they encounter a difficult problem. The bad programmer will say "I give up. This is stupid. I can't do this." or they'll just stare blankly into space. The good programmer will try harder, they'll try to tackle the problem from a different angle, they'll ask for someone else's insight and really think things through.
Teaching students to relish the challenge and to not give up or run away is difficult. Especially when some students will take longer to solve certain problems. But even if they have to change their way of thinking about the problem or ask for some hints, that's ok. As long as they haven't just given up and avoided the problem, they'll make progress.
Skills:
Programming is a mix of many different skills and abilities.
Abstract thought, problem solving, a bit of mathematical ability, a reasonable degree of linguistic ability and many other things.
You don't have to be a master of all these things, but it helps to be particularly good at at least one of them and to be reasonably good at the others.
I've seen programmers who are good at solving problems but always write messy code or get syntax wrong becuase their linguistic ability isn't as good. I've seen programmers who can write code and solve problems but are really bad at any kind of mathematical problem. I've seen people who can understand code but always write monoliths because they struggle with thinking in terms of class hierarchies and splitting the problem up into classes.
All of them are capable of getting a job done, all of them are capable of programming, but those areas of weakness are what tips the scale enough to hold them back from being even better. I dare say even the most critically acclaimed programmers have their weaknesses in certain areas.
But with all that said, programming has never been an exact science. There's usually more than one solution to a problem, some solutions are better than others, and some solutions are only subjectively better. There's a lot of debate around what's good programming style and whether style even matters if a program gets the job done, and I doubt that will ever stop.
What this means in terms of teaching is that it helps to be able to recognise which aspect a student is lacking in so you know how to tackle their insufficiencies. If a student can explain the problem but can't put it into code, that's what must be tackled. If a student can explain a program shown to them or write a program that's described to them but can't come up with a solution when presented with a problem then that's what must be tackled. Et cetera.