If I did not misunderstand it is something like this:
Heigt
func _ready():
spawn_monsters(1,600,200)
func spawn_monsters(numberOfMonsters, heigth, posx):
for i in range(numberOfMonsters):
monstro.append(monsters.instance())
monstro[i].position=Vector2(posx,(heigth/(numberOfMonsters+1))*(i+1))
add_child(monstro[i])
Height defines the total height where they are distributed equally according to the number of instances, you can add a value to add a margin above or use random to randomize the positions a bit