The limitation is for database not for instance. Plus 10G limitation is ONLY for data file, the log file can be 10.5 G or 20G for example.
As per this BOL document it says that
The actual number of user connections allowed also depends on the
version of SQL Server that you are using, and also the limits of your
application or applications and hardware. SQL Server allows a maximum
of 32,767 user connections. Because user connections is a dynamic
(self-configuring) option, SQL Server adjusts the maximum number of
user connections automatically as needed, up to the maximum value
allowable. For example, if only 10 users are logged in, 10 user
connection objects are allocated. In most cases, you do not have to
change the value for this option. The default is 0, which means that
unlimited user connections are allowed
There is no LIMIT set as such for express edition. However when connecting from application connection pooling comes into picture, if enabled. In connection pooling, after a connection is created, it is placed in the pool and it is used again so that a new connection does not have to be established.
Yes number of connections are limited by the OS you are using. Please refer to this thread which says only 20 connections are allowed on windows 7. I am not sure about other client OS but if you use server OS there is no such restriction.
Unlimited for practical purpose. There is no restriction as such if your OS is Windows server 2012.
32767 databases is what maximum capacity specification states. But you wont be able to go far than 10 due to express limitation on memory and CPU