My best guess is that the argument was just reused to be compatible with the base class, which uses self.last_epoch.
Since other schedulers are supposed to be called once per epoch, I assume this name was used initially.
Once CyclicLR, which is supposed to be called after each batch, was written, the ship has sailed and this argument name was reused.
I haven’t worked on the implementation, so I might be completely wrong, but that’s my understanding based on the code.