STFT is different from FFT since the former tries to answer what frequency component is present in a sginal and at what instant whereas the latter only tries to answer what frequency component is present. Hence STFT tries to break down the entire signal into overlapping frames(e.g., in the command mentioned above 50 is the overlap length), performs weighing individual signal points with a window function(Hamming as mentioned in the above command) to avoid spectral leakage, and then perform FFT on individual frames. Here the transform length is equal to the length of the frame, as comapred to FFT where the transform length is the length of the entire signal.
Hence windowing and variable transform length might be responsible for the result to be different from FFT magnitude,
Please refer to this link for more information.
Hope this helps!