The reason is that sessions are stored as files on disk. The name of this file is the session_id. PHP remembers which file to use by giving you the session_id in cookie.
This cookie is set for the domain that you first start the session in, and does not get sent to other domains.
This can only work if both domains are on the same server, so that the both webservers can read the same session files from disk.
Otherwise you would be stating a session on one server, move to the next, and expect the next server to know what the first server wrote to disk.