Why mining bitcoins is difficult? As I understand to obtain a Golden Block is to finding a nonce that matches a hash lower than a given target, as shown in this research-gate article.

And here is a "py" kernel: Bitcoin mining python (Github)

As the nonce is only a 4 (8-bit)byte it is only to compare 65,536 hashes, that it seems ridiculous for any GPU.

So... Why is it difficult?
There are 4294967296 nonces, because it is 32-bit.

Most of the time, none of the nonces will produce a "Golden Block". 
If none of the nonces work, the miner must make a new block (with a different Merkle root (256 bits) which means the block has different transactions in it) and try to mine that block instead.

Currently, about 99.999999994% of blocks don't have any valid nonce. That means the miner must try over 15 billion blocks before it finds one that has a nonce.

This is not a problem, because one of the transactions in a block is the one which gives the bitcoins to the miner. The miner can't change other peoples' transactions, but it can add extra unused bytes to its own transaction, which means the block has different transactions in it, and a different Merkle root.