Теперь оба будут работать нормально, но если вы попытаетесь перенаправить только один из stderr или stdout, ansiterm выведет ANSI-коды для отображения и перенаправления вывода.
Я не уверен, но я подозреваю, что правильное поведение заключается в отключении ANSI-кодов, когда вывод si не является tty, вы не хотите видеть escape файлы ANSI в файлах журналов.
На самом деле, я считаю, что консоль Windows не поддерживает цвета ANSI изначально. colorama решает эту проблему, перехватывая последовательности ANSI и выполняя соответствующие вызовы изменения цвета Windows. Таким образом, ваш код может быть довольно портативным, так как он может печатать цвета одинаково как на Windows, так и на ANSI-совместимых терминалах.