Okay, figured it out. I changed
counter.update(tokenizer(string_))
to:
for elem in list(tokenizer([string_])):
    counter.update(elem)

And also:
en_vocab=build_vocab('sample.csv', vocab_tokenizer)
to:
en_vocab=build_vocab('sample.csv', sp_tokens_generator)
That allowed me to then save the vocab model with:
torch.save(en_vocab, 'sample_vocab')