Still confused. What is contradictory about a simple program computing a more complex program? Randomly generating a more complex program does not make the complex program reducible to a random string generator.
The complex program probably does something other than generate random strings.
But the complex program is not actually more complex than the generator plus a smidge.
Because anywhere you're using the complex(z), you can replace it with generator()(z).
I don’t understand what you mean by reducibility to random strings, randomness has precisely nothing to do with complexity, even if they do tend to go together.