How to change single-node-cluster to 3 node cluster?

This is not quite true. You should set discovery.seed_hosts on every node, but you should not set cluster.initial_master_nodes on any of them. This is only used the first time the cluster starts, but that's already happened, so you shouldn't set it when growing a cluster.