I was hoping to make it so that, with one block of 14 trials, all 7 "yes" stimuli and all 7 "no" stimuli would all appear once and only once.
That is exactly how the code you posted should behave anyway. It certainly does for me. There will be no repeats.