If you look at the source code, there is a single spawner node in the game scene. This spawner only decides which enemy to spawn when. The random position is then decided by the enemy itself, in the moment it just got spawned.
To make the game much more fair, the spawning is divided into phases, based on how many points the player has. The purpose of these phases is to whitelist a different set of enemies and change their spawn probability for each phase.