Он сканирует правильно, а results состовляется не верно.
В начале перед всеми циклами
results = []
А где идёт запись - вот так:
results.append(f"{site}: {port} порт активен")
with open('res.txt', 'a', encoding='UTF-8') as f:
f.write("\n".join(results))
Как-то я даже удивлён, что вы циклы для сайтов и портов сделали правильно, а с записью результата в файл какая-то каша.