Yes, the session is "global" for a given user's session (with the caveat that new windows/tabs/etc. may act differently across clients). That's what makes it the session.
An action context may contain anything, including the session. Just because there's a new context per request doesn't mean the data in multiple contexts will all be different.
It doesn't get the session from AC1, it gets it from the session. AC2 doesn't know anything about AC1.