You need to pause between speaking different commands, queuing has nothing to do with it.
If you define the phrase "switch to cruise mode", that is what the speech recognition engine will look for. As soon as you add arbitrary words or phrases to that predefined phrase, it no longer matches the predefined phrase.
Provided you have distinct command phrases, you could try setting the "Recognition" option for those commands to "Restricted Continuous Speech" or "Continuous Speech" to reduce the required pause, but even then you'll likely still need to stop speaking momentarily.
Otherwise, you'd need to use wildcards, which theoretically allow multiple commands to be spoken as part of a single phrase, but are not predefined commands in the proper sense, as the speech recognition engine most freely interpret what it hears, rather than matching to an existing list of phrases.
As mentioned in the documentation, that feature is "somewhat unsupported" for that reason, as recognition accuracy is usually much lower.