There is a random component to the fitting algorithm. The results will not be exactly the same each time, because the pseudorandom number generator will not give the same values each time through.
If you put the line
at the beginning of your code, it will start the generator at the default location each time, and you will get the same results.
Also, given that your data doesn't really look like five gaussians, I am not surprised that you get unstable results. Or maybe I misunderstand something.