Генерал-майор - командует дивизией, которая насчитывает около 15 000 человек личного состава. Изначально генерал-майор именовался как генерал-сержант-майор и являлся помощником генерала. В Российской империи чин генерал-сержант-майора появился в 1667 году, а в 1722 году к генерал-майорам обращались "Ваше превосходительство".
Генерал-лейтенант - в условиях царской армии было звание генерал-поручик, которое соответствует званию генерал-лейтенант, и он являлся помощником командующего войсками, второе лицо в действующей армии. Впоследствии поручик превратился в лейтенанта, поэтому звание генерал-поручик превратилось в звание генерал-лейтенант. Звание генерал-поручик появилось в царской армии в 1659 году, а звание генерал-майор уже в 1667 году. Товарищ Сталин скопировал всё с царских времён, поэтому сначала шло звание генерал-майора, а потом уже звание генерал-лейтенанта. Более вникнуть в суть воинских званий Вы можете по следующей ссылке -
https://zen.yandex.ru/media/wild_graf/pochemu-generalmaior-mladshe-chem-generalleitenant-5c52b77f12633d00afb5be24