Availability groups multiple instance, multiple listeners
When I connect to AVG02 using the name AvgList02 it connects me to AVG01 although I'm not using its listener name. Where is the issue, and how to fix it?  


Consider port configuration play key role in general. In your case most probably following might happened.


Both availability groups's primary replica is same node (DB01 or DB02)
There must be SQL Browser service running in each SQL Server
Default SQL ports (1433) must have been assigned for listeners


When client tries to connect on listener name the IP would be bounded based on DNS response (in multi sub-net first successful IP bound) which lead client connection to pointing to primary replica.

Connection from AvgList02 to AG01 (AVG01):
When the request hitting primary replica (after IP bound from listener name), next part is port (consider wrong port as per point 3) the connection would be established to the service which is running on particular port number (1433). 

Connection from AvgList02\FBG to AG02 (AVG02):
Similar to above case (after IP bound from listener name), since the instance name (FBG) mentioned in connection SQL Browser would take action to bound the connection with respective SQL Service that match with instance name mentioned in connection.

Summary:
I personally recommend to use custom port for SQL Server especially when multiple instances running in same server, and disable SQL Browser service, let every connection hard-code custom port number in connection string to connect respective instance without depending on SQL Browser service. 

For availability group implementation, consider custom ports and avoid port conflict in following sections:


SQL ports (Default: 1433)
Endpoint ports (Default: 5022)
Listener ports (no default)