I can see in ADS-B downlink format 5 or 21, it is possible to answer squawk code. I am wondering how ATC will know which squawk code is coming from which aircraft? There is no possibility to encode ICAO address in downlink format 5 or 21 . However, address parity finally result a uncontrollable ICAO address.
The ICAO 24-bit aircraft address is encoded in every ADS-B (Downlink Format = 17) message. It is the primary means of associating messages to the same aircraft in ADS-B.
What you have in your question is not an ADS-B message but a surveillance identity reply (DF = 5). This is the reply to a Mode S radar interrogation. The Mode S radar already knew the 24-bit address of the aircraft when it asked the transponder to send a short (DF = 5) or long (DF = 21) identify reply.
The Mode S radar verifies the aircraft address during the parity check and reports the 24 bit address, squawk code, azimuth, range and additional information to the ATC surveillance data processing system.
The air traffic controllers do not use the 24 bit address; this is only used in the data processing. The air traffic controllers see the position of the aircraft on their display, with a label containing the squawk code and other information.