With the same channel S/N, the normalized mean square error differs
The problem you describe is likely due to the randomness of your noise: Even though the S/N ratio remains the same for each run, the actual realization of the noise is different in each run. Hence, the NMSE is different for each run.

The standard procedure here is to run the algorithm several times for a single S/N ratio, measuring all the obtained NMSEs. Then, you calculate the mean of the measurements to find the overall NMSE for a given S/N ratio. Additionally, you can draw errorbars (MATLAB errorbar) around each points, which indicate the standard deviation of each measurement.