I read that Tor proxy maintains key with each Tor node for encryption. Then, why does a Tor node maintains TLS keys with other Tor nodes?
If I understand your question right, you're wondering about the link protocol that relays use to talk to each other. This protocol ensures that relays establish exactly one connection to each other, not a new connection per circuit they carry. Doing it that way has two advantages. One is anonymity: Multiple circuits are multiplexed over such a connection between relays, meaning the attacker cannot easily learn which data belongs to which circuit. The other is just plain necessity: Making a new connection for each circuit would mean relays need to open way too many connections than the TCP protocol can handle, making it impossible to support a Tor network of current size.
An onion is meant to be peeled off layer-by-layer by the intended node. This is only possible if the data is encrypted in multiple layers using keys of the Onion Routers in sequence. This is the reason TOR client needs to store the public keys of the Onion Routers.