In YARN mode, the client communicates with YARN resource manager and gets containers to run the Spark execution. You can regard it as something like a mini Spark-cluster deployed just for you.
Multiple clients interacting with the cluster create their own executors on the cluster nodes (node managers). Also, each client will have its own Driver component.
When running using YARN, Spark can run either in YARN-client mode or YARN-cluster mode.