Если вы не знакомы с Python, то для начала прочитайте про GIL - global interpreter lock.
Несколько лет назад выбор Python был бы оправдан. Но на сегодня я бы для решения такой задачи выбрал бы уже Go, а не Python.
Программировать на Go также просто как и на Python, а с параллельностью и конкурентностью у Go гораздо проще чем у Python.
Имхо, если язык не заточен на конкурентность - не Erlang, не Go и т.п. - то лучше запускать несколько экземпляров вашего приложения. По одному экземпляру на 1 физическое ядро.
Хотя 1000 потоков - не бог весь какая нагрузка.
Специально заморачиваться нужно только если вы хотите минимизировать оплату за хостинг или у вас эти задачи какие-то нагруженные.
У меня проект на Go прекрасно держит и 15 000 одновременных постоянных соединений, к примеру.
На слабом современном сервере (4 ядра, 4 гигабайта оперативки).