The problem with the current code and only two spawn points is that Random.Range() is always returning 0. It should be Random.Range(0, n + 1) as the upper limit for random integer generation is excluded.
It is annoying that Random.Range() works different when using integers instead of floats...