Need to mount two Volumes on a single application pod

So I have an application pod who /app/data directory is mounted on efs /data directory. Currently I want to mount another path /public/shared path on the same efs /data2 directory.
So basically, I want to mount two different paths of my pod to two different paths of my EFS.
But when I deploy the pod, the second volume is not mounted and throws error.

FailedMount     7m42s                  kubelet            Unable to attach or mount volumes: unmounted volumes: [data, data2] unattached volumes= [data, data2]: timed out waiting for the condition

This is my mountPath:

volumeMounts:
    - name: data
      mountPath: /app/data
    - name: data2
      mountPath: /public/shared

This is my volumes:

volumes:
  - name: data
    persistentVolumeClaim:
      claimName: efs-claim-1
  - name: data2
    persistentVolumeClaim:
      claimName: efs-claim-2

The PVCs are bound correctly with the PV. The thing to be noted is that the error arises when trying to mount the second volume. It works perfectly fine with only one volume.