Data sampler length caculation error
**Describe the bug**

The [`__len__`](https://github.com/NVIDIA/NeMo/blob/dc9dda09ff4fb986cf7653e9384c4ea6ec4202fd/nemo/collections/nlp/data/language_modeling/megatron/data_samplers.py#LL81C8-L81C8) function for BaseMegatronSampler use `self.total_samples - self.consumed_samples` to caculate the sampler length. Is that intentional or just a bug.

The current implementation will make the log confused once after resuming from some checkpoints. The total iters will decrease every time resuming from a newer checkpoint.


**Expected behavior**

The total iters should keep unchanged every time resuming from new checkpoint.

**Environment overview (please complete the following information)**

 - Environment location: Docker
 - If method of install is [Docker], provide `docker pull` & `docker run` commands used
  
    - docker pull: `docker pull nvcr.io/nvidia/nemo:23.02`
    - docker run: `nvidia-docker run -it --shm-size 64g --network host -v /path/on/host:/path/in/docker nvcr.io/nvidia/nemo:23.02 bash`

**Additional context**

Add any other context about the problem here.
Example: GPU model
