I found this answer on how to make the enemies move towards the player. If I have one enemy on the GameScene, it works perfect. However, if I add another enemy to the scene, only one of them moves while the other is stationary. 
Here is the code on how I have everything set up so far.
var player: SKSpriteNode?
var spawnZombie = SKSpriteNode()
override func didMove(to view: SKView) {
    playerTexture = SKTexture(imageNamed: "player_2")
    player = SKSpriteNode(texture: playerTexture)
    player?.name = "player"
    player?.position = (pSpawnPoint?.position)!
    player?.setScale(0.5)
    self.addChild(player!)
    randomEnemy()
    randomEnemy()
}
This is how my enemies are set up
func randomEnemy(){
    spawnPoint0 = childNode(withName: "spawnPoint_0") as? SKSpriteNode
    spawnPoint1 = childNode(withName: "spawnPoint_1") as? SKSpriteNode
    spawnPoint2 = childNode(withName: "spawnPoint_2") as? SKSpriteNode
    // Set up enemies
    enemy = SKSpriteNode(imageNamed: "enemy_2")
    enemy.name = "enemy"
    enemy.setScale(0.5)
    enemy.zPosition = 10
    enemy.physicsBody = SKPhysicsBody(rectangleOf: enemy.size)
    enemy.physicsBody?.categoryBitMask = PhysicsCatagory.Enemy
    enemy.physicsBody?.collisionBitMask = PhysicsCatagory.None
    enemy.physicsBody?.contactTestBitMask = PhysicsCatagory.Player
    enemy.physicsBody?.isDynamic = true
    enemy.physicsBody?.affectedByGravity = false
    let choice = Int(arc4random_uniform(3))
    switch choice {
    case 0:
        enemy.position = (spawnPoint0?.position)!
        self.addChild(enemy)
        break
    case 1:
        enemy.position = (spawnPoint1?.position)!
        self.addChild(enemy)
        break
    case 2:
        enemy.position = (spawnPoint2?.position)!
        self.addChild(enemy)
        break
    default:
        print("something went wrong")
    }
}
override func update(_ currentTime: TimeInterval) {
   let location = player?.position
    //Aim
    let dx = (location?.x)! - enemy.position.x
    let dy = (location?.y)! - enemy.position.y
    let angle = atan2(dy, dx)
    enemy.zRotation = angle - 3 * .pi/2
    //Seek
    let velocityX =  cos(angle) * enemySpeed
    let velocityY =  sin(angle) * enemySpeed
    enemy.position.x += velocityX
    enemy.position.y += velocityY
}
Any ideas why only one of the enemies moves whenever I run the function twice? Thanks in advance.
 
    