Is it necessary for me to relocate one or two listeners running on node 2 to node 1?
Its not necessary to relocate these SCAN listener manually, these will be failed over to another node automatically.
Will my connections still be load balanced even if I have no scan listeners running in node 1 and all the 5 are running in node 2? If yes, how?
SCAN resolves in one of the IP addresses(In your case, its five) in round-robin fashion, so we don't need to worry about the load-balancing on SCAN.
Oracle strongly recommends that you do not configure SCAN VIP addresses in the hosts file. If you use the hosts file to resolve SCAN name, you can have only one SCAN IP address.
Once the SCAN is resolved it tries to find least loaded oracle instance to hand over client connection request to local listener, in your case you have two local listeners running on two different nodes.
I would strongly recommend the following white paper published by Oracle to grasp more information about SCAN in Oracle RAC.
When does one actually need to relocate the scan to another node?
If the node on which a SCAN VIP is running fails, the SCAN VIP and its associated listener will fail over to another node in the cluster. In your case you have two nodes so one pair of resource(SCAN VIP and listener) is running on one node and rest of these are running on another node. Once your first node hosting the SCAN VIP and listener goes down Oracle Clusterware relocates this resource to second node. If a node becomes available in the cluster again, the formerly mentioned dispersion will take effect and relocate one set accordingly.