I had the same problem, although not rarely, but very often. (most likely because i am using mods) It seems that its all about the names of your tourists, so if two tourists from different contracts have the same name, only one will spawn. Maybe the game names tourists randomly so you just increase the chance that it happens, and maybe it tries to avoid giving the same name twice, but if you have to many tourists, it runs out of names and has to use one twice. (you could try that out and see if there is a maximal number which you could just avoid, although thats not really a solution i guess)