How is pool hashrate share name known? Since it’s not possible to know mining pools nodes addresses, how do we know the that a specific node owing 15% of share belongs to btc.com for example ?
The only way to know which pool has mined a particular block is by identifying data that miners include in the coinbase transaction. However care must be taken as this data can be faked. Also many mining pools omits this, which is why there are many blocks that are from "unknown" miners. 

Let us take the last block mined by BTC.com, which is #572639. To look at the coinbase data, you will need to look at the first transaction included in the block which is 806e80560f7c87059b9103d8bd4fca7be14810af47940c40464276d971fd2625. After you decode this transaction you will get the following input: 

"vin": [
        {
            "coinbase": "03dfbc080479b0bc5c672f4254432e434f4d2ffabe6d6d6b01cdd5d0aa44ffa14f158f90119afef5e5440b5f6ff324e74a988e6db4294d0100000000000000cb2b382f00005a2197460000",
            "sequence": 4294967295
        }


In the coinbase data, pay close attention to the part 5c672f4254432e434f4d2f. This data is included in all blocks mined by BTC.com pool. If you decode this you get '\\g/BTC.com':

&gt;&gt;&gt; pool_data = '5c672f4254432e434f4d2f' 
&gt;&gt;&gt; bytes.fromhex(pool_data).decode()
'\\g/BTC.COM/'