With these tokenizer call parameters (i.e. padding=True which is equivalent to padding='longest') your inputs are padded to the longest sequence within the batch passed to it. Since the longest sequence differs from batch to batch, lengths of tokenized batches also differ and that’s what the Data Loader complains about.
The easiest way to solve this is to set padding to 'max_length'.  Alternatively, If you want to pad to the batch’s longest sequence after all, you’ll need to move padding and truncation to a custom collate function that you need to pass to the Data Loader.