Ports are addresses used by some transport-layer protocols, not application addresses.
The NAT table for NAPT (PAT is really a misnomer, see RFC 2663, IP Network Address Translator (NAT) Terminology and Considerations) will use the source and destination IPv4 and transport addresses and come up with a random port for the transport protocol.
The transport address on the remote host will multiplex to allow different connections. Web servers do this all the time. It is not unusual for a web browser to open multiple TCP connections from a host to the web server in order to get multiple page elements at the same time, and the server and browser maintain separate connection between them. RFC 793, Transmission Control Protocol explains multiplexing and connections:
To allow for many processes within a single Host to use TCP
communication facilities simultaneously, the TCP provides a set of
addresses or ports within each host. Concatenated with the network
and host addresses from the internet communication layer, this forms a
socket. A pair of sockets uniquely identifies each connection. That
is, a socket may be simultaneously used in multiple connections.
The binding of ports to processes is handled independently by each
Host. However, it proves useful to attach frequently used processes
(e.g., a "logger" or timesharing service) to fixed sockets which are
made known to the public. These services can then be accessed through
the known addresses. Establishing and learning the port addresses of
other processes may involve more dynamic mechanisms.
The reliability and flow control mechanisms described above require
that TCPs initialize and maintain certain status information for each
data stream. The combination of this information, including sockets,
sequence numbers, and window sizes, is called a connection. Each
connection is uniquely specified by a pair of sockets identifying its
When two processes wish to communicate, their TCP's must first
establish a connection (initialize the status information on each
side). When their communication is complete, the connection is
terminated or closed to free the resources for other uses.
Since connections must be established between unreliable hosts and
over the unreliable internet communication system, a handshake
mechanism with clock-based sequence numbers is used to avoid erroneous
initialization of connections.