Learning rate max step wrong when using batch sampler
**Describe the bug**

when using the batch sampler such as [MegatronPretrainingBatchSampler](https://github.com/NVIDIA/NeMo/blob/177a67fa4a43ed6f7c4fb39a66c0a2998a27fef1/nemo/collections/nlp/data/language_modeling/megatron/megatron_batch_samplers.py#L141). The train_dataloader's drop_last argument is always set to False, which is accidentally picked up by this line of [code](https://github.com/NVIDIA/NeMo/blob/177a67fa4a43ed6f7c4fb39a66c0a2998a27fef1/nemo/core/optim/lr_scheduler.py#L877C47-L877C47) leading to our learning rate scheduler being off by 1step. 

Instead we should use drop last from the Batch sampler itself [here](https://github.com/NVIDIA/NeMo/blob/177a67fa4a43ed6f7c4fb39a66c0a2998a27fef1/nemo/core/optim/lr_scheduler.py#L870) when we detect it
