Your signal $z$ is centered at 20 MHz, but because your sampling rate is 30.72 MHz, 20 MHz is beyond the Nyquist frequency of $f_s/2$ = 15.36 MHz and therefore aliases to 20-30.72 = -11.72 MHz. The signal straddles $\pm f_s/2$, which is not what you want. To center a 20 MHz wide signal at 20 MHz, you must sample at least $2*(20+20/2)=60$ MHz, or roughly twice your current sample rate. Thus you want to interpolate the signal to a higher sample rate first.
The other issue is that your signal is still complex. Maybe that is what you want, but typically if you convert to passband it is because you need a real signal - e.g., for D/A conversion. In that case you also need to take the real component of the signal after the complex upconversion.
If you do need a passband signal for D/A conversion, then you might want to interpolate by more than 2 to make your D/A reconstruction filter easier - but that is another topic entirely.