Ну потому что это самый общий кейс. Когда ты просто ставишь пакет самой свежей стабильной версии.
Но если ты ТОЧНО ЗНАЕШЬ ЧТО ДЕЛАЕШЬ и хочешь зафиксить предыдущую версию (или диапазон версий), например, потмоу что в новом релизе есть какая-то known-хуйня, то идёшь и фиксишь версию руками. И твоё приложение работает ровно так, как ты хочешь. На то ты и мэйнтейнер, чтобы самостоятельно следить за списком зависимых пакетов.
ну они же могли бы облегчить мне жизнь, и впердолить простой кли высер, типа pipenv lock-current, чтобы вот я написал прилоажку, все оттестил, и в Pipfile текущие версии и записались