Hi and no problem, let me try to explain it, hopefully you will understand. Otherwise, just ask.
First, this is just an example and there are other ways to achieve what I think you want to do. 
On de annotations part (@onready) the docs are pretty good in explaining. (GDScript reference — Godot Engine (stable) documentation in English)
Ok, in my case I have multiple enemies.tscn and want to spawn them in the moment a certain time has expired. I want to control how many enemies and what type will spawn for each spawner.
So in my case I used this line to set it up:
@export var nodeIwanttoinstantiate : Array[PackedScene] = []
Here I want to have a reference in the editor to an Array which will only accept PackedScenes. So the first part is setting up the variable, then I am telling Godot what kind of variable it is (Array) then I am telling Godot You can only receive PackedScenes. For my own sanity I create it as an empty Array () instead of nothing which could be error prone.
So, after setting this up, in the inspector you should have an Array where you can drop 1,2 or 12 enemies or objects to populate this Array.
After that you could place the loop in the _ready function, but that means it will trigger the moment this scene is loaded.
So you use a for loop to itterate over your variable you created for the Array, in my case enemies. and for each object in it (enemy) you instantiate that scene and give it some other information prior spawning.
for enemy in enemies:
var e = enemy.instantiate()
#some more functionality#
add_child(e)
So first you instaniate the scene and put it in variable I called e, then I used the add_child function to add it to the scene tree.
If you have questions, let me know. I encourage you to also look to the documention, its pretty detailed.