why subtracting an image from noise (having very low intensity), causes image to loose its maximum value (intensity)
Probably the pixel where the maximun value occurred for the image at 1344.056 had a value around 2 in the noise. Thus, when you substracted both then you get a maximun of 1342.312.
If you are substracting both values I supposed your goal is to remove noise from the image and then the one you call image is actually image_and_noise. So, if this is correct the image maximum is 1342.312 and the 2 that was removed belonged to the noise.
I have set of two image namely main and noise and the maximum value is found using np.max(image_array) function. This will return the values for

maximum of main image = 1344.056
maximum of noise image = 34.46

But, when I subtract both image using np.subtract(main,noise) and    now, if I find the maximum value of subtracted image, the value is    found to be

Maximum of subtracted image = 1342.312

Now, why the main image is loosing its maximum value from 1344 to    1342 ? Any help in figuring out the issue is appreciated.