SQL Server Agent logs in as guest on a linked server
Personally I would try using ORIGINAL_LOGIN() instead of USER_NAME().  USER_NAME() returns the database principal or user associated with your login in the database you are connecting to.  In this case you are probably connecting to master in both cases.  If LinkedServerUser doesn't have a specific login in master on SERVER2 then you will see GUEST.  

If on the other hand you use ORIGINAL_LOGIN() you will get the server principal that connected, which will probably be LinkedServerUser in both cases.