It's not a bug, it's the way picking works. Check out this post:
construct.net/en/forum/construct-3/how-do-i-8/pick-instance-comparing-140726
Basically, if you pick a road by road.id=choose(0,1), the engine checks every road instance separately. And for every road instance it generates a new choose(0,1) number to test against. That's why sometimes one road is picked, sometimes none, and sometimes both. (when both roads are picked, player is created on the first road, that's why you can see more players on the first road).
Here is how to fix this: