Думаю, это потому, что на самом деле сравниваются строки, а не даты. Когда месяц меняется, это нарушает сравнение.
Попробуйте отформатировать дату другим способом, например, используя эпоху или числовой формат даты.
date -d "Jul 31 11:55:00" +%s
выводит 1533063300. Аналогично,
date -d "Aug 1 00:05:00" +%s
выводит 1533107100.
Отсюда должно быть легкое сравнение.