Unique carts for different users
As you've found, Commerce carts exist independently of a Craft user's session.

A workaround would be to write a simple plugin that listens to something like the onLogin event and that plugin would check for the commerce_cart cookie and if it exists, nuke it.

That would force a new cart for each new login.