Boa noite Renato.
Vou tentar passar oq eu acredito que ocorra, pois não sou nenhum especialista.
primeiramente isto ocorre apenas com a negação.
logico choice
choice = 5 > 7 e 5 > 3
escreva(choice) //falso
logico choice
choice = 5 > 7 ou 5 > 3
escreva(choice) //verdadeiro
O problema com o nao é que ele serve para umas coisas mais avançadas (como exemplo em javascript, que a negação faz checagem se o valor passado é vazio, nulo ou undefined antes de realizar a operação), provavelmente o mesmo deve ocorrer por debaixo dos panos em Portugol.
Contudo, é uma boa pratica a utilização dos parênteses nestes tipos de operação, por mais simples que for a operação.:
choice = ( 1 < 2 )
pois facilita a leitura para outros programadores lerem. ( uma das principais qualidades de um Dev e saber criar um código limpo para que outros programadores leiam )