Try to set
padding='max_length'

This should force tokenizer to pad all sequences to self.max_len. Errors like stack expects each tensor during data loading usually means that you try to build batch from tensors with different sizes (jagged tensors are not allowed). You have either to

ensure all tensors returned by __getitem__ have same size (I used this one)
write custom collate_fn for dataloader and pad them by yourself