In the words of Mr. Spock, your script is illogical.
?_num > 0 && _num <= 1: "respawn_west" setpos getmarkerpos "sp1"
?_num > 1 && _num <= 2: "respawn_west" setpos getmarkerpos "sp2"
...
The above should be more like the way to go.
If _num is above 0 and if _num is equal or less than 1, set respawn_west marker to where marker sp1 is.
However, using random in MP mission I'm assuming that you're using publicvariable familiar with publicvariable? If not you can look it up, there's many many great many threads about it in the MP forum.
If you don't publicvariable a random which is created in a script that runs on all computers, the value of random is different on all computers, thus placing your marker to different places on all computers. Or if your script is running only on the server, the others won't know anything about it still resulting in misfortune