Generating inaudible sound waves using MATLAB
Eventhough the exact cause of those wide-spread line spectra is not very clear to me from the supplied information, it's most probably due to the on-off switching implied by the silence period you have added in between your message signals. 

The on-off waveform is an implicit operation you multiply to your signal. Which has a value of $1$ during the sound interval and a value of $0$ during the silence interval. The fundamental period of that waveform is roughly 200 Hertz.

More technically, the on-off switching with a given duty-cycle will shift the message spectrum by the amount of k-th harmonic frequency for each significant harmonic present in the continuous Fourier series of the on-off waveform.

In fact this is a method of realizing an analog modulation algorithm. Multiplication with a rectengular wave creates a multitude of harmonic centered up-mixed spectrums, of which only one is selected by a suitable bandpass filter.

Therefore as a solution offer, you could try the following:

1- Generate the 18kHz (already bandpass) message signal in time domain.

2- Insert the silence periods accordingly.

3- Apply a BPF (bandpass filter) centered around 18Khz.

When implemented carefully this should yield a solution to your problem I guess. Distortions in the message signal can happen however.