PostgreSQL Correlation Between "max_connections" and "numbackends"
max_connections is the upper limit for the number of database connections to all databases in the PostgreSQL cluster.

numbackends is the number of backends connected to a certain database.

The only connection between these numbers is that the former must be greater or equal than the latter.

It seems like you don't have more than 16 connections to the database. This is not a sign to worry; I would take it as an indication that your connection pool is working.

Remark: shared_buffers is very likely set way too low, which will harm performance.