How many users are supported on SQL Server 2012 Express?
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