How about adding a delay(1000) at the very end of your loop, and see if this joke gets printed every second? I'm thinking the random-function is working, but that #joke 2, 3, 4 etc is just not showing. Try with the delay(1000), if your joke just appears randomly at every 1-10 seconds, there is something going on with your mySerial.write-stuff (why not use Serial.println anyway?).
Did you try my variation on the code? All that's done to change the OP's code is to change the output to Serial instead of SoftwareSerial, and to change a few Serial.print() to Serial.println(), and do get rid of the clear(), in order to show what's actually happening in the code.
Result; It DOES
output all the jokes, randomly, except that the only joke in there is the jalapeno one. The rest all just say "Joke #...", which is exactly what the code says to do.