Самое главное: не делайте многопоточность на Python, если она не завязана на обработку io. Потому что есть
GIL и он не простит.
Можно делать по одному процессу на матч, но тогда будет перерасход по памяти, так как придётся дублировать статические данные в каждом процессе.
Возьмите любой современный асинхронный фреймворк и пишите сервис, который может держать несколько матчей. Глобальные переменные тормаза не вызывают.
P.S. Судя по формулировке вопроса, вам может быть рано делать подобный проект, попробуйте уменьшить сложность задачи на порядок.
P.P.S. Тут правильно уже советовали: делайте как получается и обзовите это прототипом. Когда появится прототип, станут видны хорошие и плохие решения, можно будет разбираться в теме более предметно.