Thread(target=check_incoming_messages_to_client(incoming_chat_messages[length-1],uri_str, kill_threads_subscript))
вызывает вашу функцию, затем передает результат как target
(за исключением того, что он никогда не заканчивается, результат никогда не материализуется, и вы даже не создаете Thread
).
Вы хотите передать функцию без вызова и args
отдельно, чтобы поток вызывал ее при запуске, а не основной поток, выполняющий ее до рабочего потока даже запускает:
t1 = Thread(target=check_incoming_messages_to_client,
args=(incoming_chat_messages[length-1], uri_str, kill_threads_subscript))