How to convert a spectrogram back to a signal
I am not a good Python coder, but did similar processing in Matlab in the past. The subject has been discussed in SE.DSP in several instances, for instance Librosa stft + istft - Understanding my output. 

Tools seem to exist:


scipy.signal.istft: Perform the inverse Short Time Fourier transform (iSTFT).
librosa.core.istft: Inverse short-time Fourier transform (ISTFT).


How you should process complex coefficients is a complicated manner. The most simple consists in modifying the modulus, and keeping the phase. However, the result depends on the type of enhancement you want to perform. You could find inspiration on papers talking about shrinkage (esp. with complex, dual-tree or quaternionic wavelets) and homomorphic filtering. I could update later if you can clarify objectives.