Enemy prefabs in a list not instantiating

So, when my player hits the enter button, it is meant to randomly generate the map (which it does). Then ti is meant to randomly generate enemies in random spots, but it seems to have broken. The code:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;

public class GameManager : MonoBehaviour {

    public int currentLevel;

    public List<GameObject> spawnPoints;

    public int level1EnemyCount;
    public int level2EnemyCount;
    public int level3EnemyCount;
    public int level4EnemyCount;
    public int level5EnemyCount;

    public int count;

    public List<GameObject> enemies;

    public bool portalActivated;

    public bool gameInProgress;

    public void ActivateShop() {
        SceneManager.UnloadSceneAsync("Lobby");
        SceneManager.LoadScene("Shop");
    }

    void Update() {
        ActivateGame();
        PortalDetection();
    }

    void ActivateGame() {
        if(Input.GetButtonDown("Submit")) {
            switch (currentLevel) {
                case 1:
                    startUp();
                    level1();
                    break;
                case 2:
                    level2();
                    break;
                case 3:
                    level3();
                    break;
                case 4:
                    level4();
                    break;
                case 5:
                    level5();
                    break;
            }
        }
    }

    void PortalDetection() {
        if(portalActivated == true) { 
            // Return player to lobby
            SceneManager.UnloadSceneAsync("Main Game");
            SceneManager.LoadScene("Lobby");
            currentLevel ++;
            portalActivated = false;
        }
    }

    void startUp() {
        SceneManager.UnloadSceneAsync("Lobby");
        SceneManager.LoadScene("Main Game");
    }

    IEnumerator RandomSpawner(int startEnemyCount, int endEnemyCount) {
        yield return new WaitForSeconds(1f);
        int randomEnemy = UnityEngine.Random.Range(startEnemyCount,endEnemyCount);
        int randomLocation = UnityEngine.Random.Range(0,spawnPoints.Count);
        Instantiate(enemies[randomEnemy], spawnPoints[randomLocation].transform.position, transform.rotation);
        spawnPoints.RemoveAt(randomLocation);
    }

    void level1() {
        if(currentLevel == 1) {
            // Game is on level 1
            for(count = 1; count <= level1EnemyCount; count++) {
                int startEnemyCount = 0;
                int endEnemyCount = 1;
                StartCoroutine(RandomSpawner(startEnemyCount, endEnemyCount));
            }
        }
    }

    void level2() {
        if(currentLevel == 2) {
            // Game is on level 2
            for(count = 1; count <= level2EnemyCount; count++) {
                int startEnemyCount = 0;
                int endEnemyCount = 2;
                StartCoroutine(RandomSpawner(startEnemyCount, endEnemyCount));
            }
        }
    }

    void level3() {
        if(currentLevel == 3) {
            // Game is on level 3
            for(count = 1; count <= level3EnemyCount; count++) {
                int startEnemyCount = 2;
                int endEnemyCount = 3;
                StartCoroutine(RandomSpawner(startEnemyCount, endEnemyCount));
            }
        }
    }

    void level4() {
        if(currentLevel == 4) {
            // Game is on level 4
            for(count = 1; count <= level4EnemyCount; count++) {
                int startEnemyCount = 1;
                int endEnemyCount = 3;
                StartCoroutine(RandomSpawner(startEnemyCount, endEnemyCount));
            }
        }
    }

    void level5() {
        if(currentLevel == 5) {
            // Game is on level 5
            for(count = 1; count <= level5EnemyCount; count++) {
                int startEnemyCount = 0;
                int endEnemyCount = 3;
                StartCoroutine(RandomSpawner(startEnemyCount, endEnemyCount));
            }
        }
    }
}

I don’t know what’s wrong, but it’s not instantiating the enemies any more. If anyone can find why, it’ll be greatly appreciated.

Thanks!

So it seems like when the scene is reloaded, the instantiating does not work anymore. Yet the variables are still there in the inspector.

Just bumping this as I have no clue as to what is wrong.