Потому что у оператора
or меньший приоритет, чем у оператора
==. Сначала выполняется
message.text == 'BLA', затем
'BLABLA' — последнее всегда расценивается как
True (непустая строка). Можно расставить скобки для лучшего понимания приоритета выполнения:
if (message.text == 'BLA') or 'BLABLA':
Затем строку "BLABLA" можно заменить на
True:
if (message.text == 'BLA') or True:
Это условное выражение всегда будет равно
True.
Скорее всего, вы хотели написать:
if message.text == 'BLA' or message.text == 'BLABLA':
Я заменил бы эти два условия кортежем с допустимыми значениями и оператором
in:
if message.text in ('BLA', 'BLABLA'):