This isn't an answer to your problem, but a coding suggestion. Calling Python scripts from other Python scripts should be considered a last-ditch approach.
The preferred methodology for calling Python files from Python files is to design the 'reportsN.py' files to be usable as both a library and a command-line callable. Python supports this via the
if __name__ == "__main__":
idiom.
ReportN.py would be written as:
def stuff_to_do():
pass
if __name__ == "__main__":
stuff_to_do()
Your top script, 'run_files.py' would handle importing each 'reportN.py' file as a library and allocating their stuff_to_do() functions/methods to threads as needed.
This approach is not always possible (if 'reportN.py' is not under your control, for example), but this approach will simplify your problems by taking 'subprocess' out of the list of things you have to contend with.