Почему бот в телеграмме отвечает всегда, не реагируя на то, что сообщения не похожи в блоке if?
Потому что правильным использованием будет делать два сравнения
message.text.lower() == "привет" or message.text.lower() == "приветик":
А так у вас одно сравнение и одни bool() от не пустой строки, который всегда вернёт True
Просто ты неправильно используешь логические операторы. В частности or - он работает только с логическим типом, а не так как ты ожидаешь.

Выражение ложно, если оба операнда с двух сторон ложные. Если хотя бы одно из них истинное, то и все выражение истинно.


В твоём случае нужно что-то типа text == "привет" or text == "приветик"