I'm trying to run multiple instances of the same .bat file. The batch file opens up other programs which when running multiple instances causes connection errors. Is it possible for me to run these batch files in separate "environments" where all code executed is run in way that it won't conflict with anything else?
No. Anything that can be done is being done.
Every program thinks it is the only program running, and it has access (on 32 bit) to 4 GByte of memory. The CPU does the above with a bit of help from windows.
Windows has device drivers that pretend to programs they are the only programs using it. But some things can't be shared, and programs should either wait or do something else if unavailable.
You may only have a timing problem. The command timeout /t 10
waits 10 seconds in a batch file.