MSSQL Agent Task Failing - Stored Procedure
I have put in "Advanced", "Run as user" as SQLUserName


This is not the option to use in your case. 

Using this option you can specify the user, not login, to run your sp. However, when you connect to linked server, it's not a database user, but server login that is used, it's "login's current security context" that will be used.

So in your case all depends on the job's owner. If it's sysadmin, the job is executed under Windows account of your SQL Server Agent, and if it's not sysadmin, the job is executing using job's owner's login.

From your error it seems that your job's owner is sysadmin, as domain\servename$ is used. This is because your Agent is running under Local System or Network Service that when going on the network use your pc's account, domain\PCname$.

To fix you problem you can either change job owner to some login that has access to linked server or change SQL Server Agent's service account to domain account that should be mapped on linked server.