So you have different domains? Or a server that is not a member of the domain?
As long as all machines are members of the same domain, you should be able to use the servername$ account and have the task that runs as SYSTEM authenticate to the other servers.
Another option would be for your task to run a Powershell script that would map a "New-PSDrive -Credentials $cred" to the 2 network servers and then do whatever other processing it does.
https://purple.telstra.com.au/blog/using-saved-credentials-securely-in-powershell-scripts
You can store that string into a text file, and when needed, read it back in and reverse it back into a ‘Secure String’ object and feed into a credential object creation by doing the following:
What is effectively happening here is that PowerShell is using the native Windows Data Protection API (DAPI) functionality to encrypt the password from the ‘secure string’ into a text string. This string can be written to a plain text file, but the way that DAPI works is that the encryption is such that only the original user on the original machine the encryption was performed on can decrypt the string back into a ‘Secure string’ to be reused.
Step 1 would be to write a Powershell script (use the sample code from that site) that saves the password in a plain text file. Then create a scheduled task that runs as SYSTEM and executes the script. You will end up with an encrypted password in a file that only the SYSTEM account on that machine can decrypt.
The application task can then be created by schtasks..exe to run as the SYSTEM account. The key is that the task needs to execute a Powershell script that would read in the encrypted password and use it map a network drive. The PS script can execute whatever else your application does.