Потому что он на самом деле не скомпилирован. Утилиты типа pyinstaller, cx_Freeze и тому подобные просто создают самораспоковывающийся архив, содержащий интерпретатор и ваш скрипт. Запуск упакованного в исполняемый файл кода - это как раз то поведение, которое свойственно для вирусов.