Purely from a single node's perspective, how does it know that the
block it received is the one selected by the majority of the
consensus, since all it knows is the existence of the immediately
neighbouring nodes?
It doesn't. PoW is a probabilistic consensus and a node may not receive some information, becoming out of sync with the majority of the network. Nodes will simply mine on what fits the consensus rule according to their local view of the blockchain. The collective view of the blockchain is just the aggregation of many individual views.
Also, blocks and transactions propagations are made on a best effort basis in a P2P network. You directly interact with your immediate neighborhood (peers), but their set of peers is not the same as yours, meaning that every node is either directly or indirectly connected to any other. The network is the medium where information is going to propagate, eventually reaching one of your peer who will forward it to its remaining peers, including you.
For the situation that you are describing, assuming that Block 1, 2 and 3 share a common parent Block 0, this is a fork situation. The way it is resolved has nothing to do with how many times you received that block. Technically, a block is fully received only once, a node requests an unknown block when it is advertised with an unknown block header.
The chain would actually look like this (again, assuming they share the same parent block):

Every single one of those blocks (1, 2 and 3) is a valid candidate as head of the chain. While you might have some selection rule applied based on block difficulty, let's assume that they share the same difficulty too to see how that inconsistent state is eventually solved.
Miners will randomly select one of those block and start mining on it. At some point, a new block (Block 4) will be created and propagated through the network. It doesn't matter if that block extends Block 1, 2 or 3. Following the longest / heaviest chain rule selection, other miners will join in and continue to mine on top of it.
The choice of the head block would be random in that case, and any of those 3 blocks has roughly 33% chances of ending up in the main chain, as 100% of the computing power is uniformly divided across those blocks.
Eventually leading back to a coherent state such as this one when the new blocks is propagated:

This has nothing to do with how many times you received Block X. And both Block 1 and 2 had the same chances of ending up in the main chain, here it just happened to be Block 2.
If your example didn't implied that they all shared a common parent, it's similar in the sense that whatever block is viewed as the head by a majority of the computing power has the greatest probability of being part of the main chain as the majority will be dedicated to mine on top of it since that fits with their local view of the blockchain.
2.Will there ever be discrepancies among nodes ?
Yes, this happens fairly often... Networks can be unreliable, delay messages or drop others, plus you must acknowledge the possibility of faulty / malicious nodes. Just remember that the way this is solved has nothing to do with how many times you received a block and everything with following the chain selection rule if applicable, and the way computing power is allocated across time. PoW ensures that such a situation will eventually be solved.
I purposely simplified several points, but I suppose that's enough to get the idea.
I hope that answers your question.