Прикольно, а оно вообще может работать? Вместе массива вы создаете лист, но не инициализируете его. Да еще и пытаетесь впихивать в него элементы как в массив. Но даже если инициализировать лист и добавлять элементы через метод Add, то всеравно работать не будет. Потому-что получение рандомного индекса стоит перед добавлением этих самых элементов, а значит там будет от 0 до 0....
P.S. Попробуйте
void ChangeColors() {
targetCountText.color = (Color)new Color32(Random.Range(0,256), Random.Range(0,256) , Random.Range(0,256),255);
}
Если конечно рандомный цвет нужен не из определенного набора..