Maybe I'm not understanding you perfectly, but there's a couple things I'd like to clarify.
What you have denoted as PSD is not actually a PSD, it is a magnitude spectrum. The magnitude spectrum is defined as
\begin{equation}\lvert X(\omega)\rvert^{2}\end{equation}
For a recent and pretty thorough discussion on the PSD and power spectrum, see a recent conversation I had here.
That being said, if you have a PSD, it is quite difficult to recover the original signal, especially if the signal is complex, as the PSD is related to the signal's autocorrelation. There are methods, but it's probably best to stick to the magnitude spectrum.
As to how to get a series of flatter spectrums, there are a couple methods that come to mind. One would be phase retrieval. You could hand craft a series of spectrums of interest, and then use a phase retrieval method like alternating projections to recover the signal that matches that spectrum. However, this would be quite difficult to recover the original signal from.
Another option could be whitening filters. Whitening filters flatten the spectrum. Once a whitening filter is applied, you can scale it to get it in the correct amplitude range. You can then add all these scaled, whitened versions together, and to recover the original signal, you would undo the scaling then the whitening. However, in this case, there is no guarantee that the spectrum in the amplitude region of interest of the whitened signal would match that of the original signal.
Overall, this seems a little ad hoc, and there probably isn't an exact science to a method like this. It's very reminiscent of bandpass filtering or channelizers, just done on the other axis. Anyways, I hope this helps at least give you some ideas on where to start, or some clarification on how to modify what you are aiming to achieve.
EDIT:
I thought of an idea that could work. Let's say you have a spectrum $X(\omega)$. You can bandpass filter this so you get
\begin{equation} \phi_{1-BP}(\omega) = H_{1-BP}(\omega)X(\omega)\end{equation}
Let's say you then also apply a whitening transform to get
\begin{equation}\phi_{\mathcal{W}}(\omega) = \mathcal{W}\{X(\omega)\}\end{equation}
You can then form a new spectrum such that
\begin{equation}\phi_{1-\mathcal{W}} = (1-H_{1-BP})\phi_{\mathcal{W}}(\omega) + \phi_{1-BP}(\omega)\end{equation}
This essentially replaces the frequency range of interest in the whitened spectrum with the original spectrum in that frequency range. You would just have to scale the whitened spectrum to fit in the amplitude range you are looking for, which may take some trial and error. To then reconstruct an estimate of the original signal, you can do something like
\begin{equation} \hat{\phi}(\omega) = H_{1-BP}\phi_{1-\mathcal{W}}(\omega) + \ldots + H_{N-BP}\phi_{N-\mathcal{W}}(\omega)\end{equation}
I haven't worked an example out in code to verify whether or not this will actually work, but if I was trying to do what you are describing, this would probably be how I start approaching it.