My question is--do we really need a separate server to connect an external hard drive as mentioned in the doc.
Cant we connect this external hard drive to any one of our cluster nodes and configure it to be shared by all the nodes.

I simply don't understand the requirement of a separate storage server all together.Why cant a simple hard drive connected to one of the cluster nodes be used for shared storage.

Cant we connect this external hard drive to any one of our cluster nodes and configure it to be shared by all the nodes

If the Hard drive is physically connected to one of the Cluster nodes and is shared to the other nodes ,and by chance if the Node which is connected with the shared drive goes down , the other cluster nodes will not be able to access the shared drive.
Hence the shared storage devices need to have physical access paths to all of the Cluster nodes .
Hope this answers your query.