Only American ships can sail from a US port to another US port.
Cruise ships are rarely American ships, so they can’t go to Alaska from Seattle - which is why Vancouver stop is necessary to make it an international itinerary.
That’s an American law, no?
Make an exception for Alaska cruises!