Data loader will affect the random mechanism even with fixed seed

They said the dataloaders are using random numbers and thus change the state of rng generators.
So if the validation data is not loaded by DataLoader but something iterable implemented by myself, the training loss (with only One training DataLoader) will be different from the model that the validation data is loaded by the DataLoader (Two DataLoader, one for training, another for validation)? If so, what is the insight behind such design?