The error seemingly occurs at random times, usually during rounds 3 or 4.

IEnumerator StartNextRound () {
coroutineRunning = true;
yield return new WaitForSeconds (5);
round += 1;
StartCoroutine (RoundNotification ());
roundTotalText.text = round.ToString ();
if (round <= 10) {
zombiesToSpawn += 2.4f;
zombieHealth += 100;
}
if (round > 10) {
zombiesToSpawn = 24 * round * 0.15f;
zombieHealth *= 1.1f;
}
zombiesToSpawn = (int)Mathf.RoundToInt (zombiesToSpawn);
for (int i = 0; i < zombiesToSpawn; i ++) {
int randomSpawner = Random.Range (0, activeSpawners.Count);
Vector3 spawnLocation = new Vector3 (activeSpawners[randomSpawner].transform.position.x + Random.Range (0f, 4f),
activeSpawners[randomSpawner].transform.position.y,
activeSpawners[randomSpawner].transform.position.z + Random.Range (0f, 4f));
GameObject spawnedZombie = (GameObject) Instantiate (Resources.Load ("Zombie"), spawnLocation, activeSpawners [randomSpawner].transform.rotation);
zombies.Add (spawnedZombie);
zombies[i].GetComponent <Zombie> ().health = zombieHealth;
yield return new WaitForSeconds (Random.Range (0, 5));
}
coroutineRunning = false;
}