I think the problem is that you are picking a random spawner first, and then checking if it has not spawned a key. If the first condition picked the spawner which has already spawned a key, the whole event won't run. You need to swap the order of these conditions in every event.
Also, "Wait for previous action" should not be used like that - you need to remove them or replace with "Wait 0" if you want to wait to the end of the tick.