Note that the program will run when the code is uploaded to the Arduino, when the Arduino is reset or when it is powered up. Opening the Serial monitor causes the Arduino to reset and the program to run again.
Under exactly what circumstances are you see the double messages ?