How can I set this goal to a random target?

the random number also changes.

This is happening because you’re accessing the random node twice (when getting a light out of the array) which could give you 2 different results. Store the result of the random operation in a variable and then use that instead.

To be more precise: you’re accessing it during Timeline’s update, generating borderline inconsistent results. The above solution should sort it out. Set an int between Delay and Set Visibility.