Object Pool only activating one prefab

Having an issue where I am creating a list and my spawn manager is only activating one enemy in a list of ten that are suppose to activate another random one every 5 sec see code below
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class SpawnManager : MonoBehaviour
{
    private static SpawnManager _instance;
    public Transform SpawnPoint, Endpoint;
    public GameObject[] Enemies;
    public GameObject EnemyContainer;
    public int EnemyCount;
    public List<GameObject> objectsCreated = new List<GameObject>();
    public static SpawnManager Instance

     
    {
       
        get
        {

            

            if (_instance == null)
            {
                Debug.LogError("Spawn Manager is NULL");

            }
            return _instance;
        }
    }
    private void Awake()
    {
        _instance = this;
        
    }
    private void Start()

    {
        MakeEnemies();
        StartCoroutine(SpawnRoute());

    }

    public void MakeEnemies()
    {
        
        
        for(int i =0; i < 10; i++)
        {
            var spawns = Enemies[Random.Range(0, Enemies.Length)];

            Instantiate(spawns, SpawnPoint.position, Quaternion.identity,EnemyContainer.transform);
            objectsCreated.Add(spawns);
            spawns.SetActive(false);
            new WaitForSeconds( 5);
            
        }
    }
    IEnumerator SpawnRoute()
    {

        while (true)
        {
            yield return null;
            foreach(var Em in objectsCreated)
            {
                if(Em.activeInHierarchy == false )
                {
                    Em.SetActive(true);
                    Debug.Log("Called");
                    yield return null;
                    


                }
                yield return new WaitForSeconds(5);

               
               
            }
        }
    

    }
     
    }

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.AI;
using UnityEngine.UI;

public class Ai : MonoBehaviour
{
    
   
    NavMeshAgent _agent;
    
   public int _warFunds =10;
    [SerializeField]
    int _maxHealth;
    [SerializeField]
    int _minHealth;
    [SerializeField]
    int _currentHealth;
    UI_Manager _uiManager;
    

    // Start is called before the first frame update
    void Start()
    {
       
        _agent = GetComponent<NavMeshAgent>();
        _agent.SetDestination(SpawnManager.Instance.Endpoint.position);
        //_agent.SetDestination(PoolManager.Instance.Endpoint.position);
        _currentHealth = _maxHealth;
        _uiManager = GameObject.Find("Canvas-UI").GetComponent<UI_Manager>();
    }

    // Update is called once per frame
    //void Update()
    //{
    //    Health();
    //}
    public void Die()
    {
        GameObject.FindObjectOfType<UI_Manager>().funds += _warFunds;
        this.gameObject.SetActive(false);
    }

    public void Health()
    {
        if (_currentHealth < 1)
        {
            _warFunds += 10;
            Die();

        }
    }
    private void OnEnable()
    {

        if (_agent != null )
        {
            
            _agent.SetDestination(SpawnManager.Instance.Endpoint.position);
            //_agent.SetDestination(PoolManager.Instance.Endpoint.position);
        }
    }

}

161175-capture.jpg

How about using:

var enemyInstance = Instantiate(spawns, SpawnPoint.position, Quaternion.identity,EnemyContainer.transform);
objectsCreated.Add(enemyInstance);
enemyInstance.SetActive(false);