Странные вещи в моем C# коде... Что происходит?
&& надо, & это булева операция, а не сравнение
Все работает как надо: https://dotnetfiddle.net/qyC3vO
При timeNow = 6 пишет "Доброе утро"
Обратите внимание, что при timeNow = 12 у Вас предусмотрена обработка и в первом и во втором условии.