You need a *goto after (or instead) of a *gosub, or to use the *fake_choice command instead of *choice. The gosub is returning you to the same place and you’re then falling into the next choice, which I think is why it’s complaining about the selectable_if.
That’s definitely a good point. Are these the only choices in this choice tree, or have you just given us a few of them? Because if these are the only ones, then @Scribblesome’s got at least one thing wrong here.