Это немного разные вещи.
При использовании функции (а в данном случае maх - это именно функция), в которой есть null значение результат будет null, т.к. один из входных параметров не определен. Функция должна выбрать что-то одно из двух значений.Т.е. это корректный и предсказуемый ответ.
Если же использовать группировку, то логика немного другая. Мы агрегируем, например, находим максимум, из существующих данных, т.е. по этой логике null значения просто не участвуют в агрегации.