I'm interested to know how bitcoin pool mining works, I read everything I found on the internet but there are some things that need to be clarified.
After the nonce is added to the block's header, why is it hashed 2 times and not 1 or 3?
Why 1, or 3, and not 2?
It's an arbitrary decision.
My best guess is that by using 2 hashes, if the hash algorithm ever becomes weaker (due to new mathematical discoveries), then one of the 2 rounds can be replaced with a new algorithm as a way of transitioning. Really though, only Satoshi knows for certain why he decided to go with 2 times.
After a hash is created and sent to the pool, what exactly the pool is doing with the hash?
The pool verifies that the nonce results in a proper hash, and that the header that was hashed matches all the requirements of the block. If so, then it broadcasts the block to all connected peers.
The difficulty level is it just a number, a string or another hash?
Just a number.
Is the sent hash transformed into a number and compared with the difficulty value?
Hashes are numbers. They are 256 bit numbers. They are often displayed in hexadecimal format to save space, but can easily be converted to binary, octal, decimal, or any other form you might like.
Why there must be 4 leading zeroes on a hash to be accepted, do all hashes with 4 leading zeros are accepted or are there some conditions to not accept some of them
The hash result must be lower value than a target set by the difficulty. Difficulty is high enough right now, than in order to be lower than the target, the value is small enough that it always at least starts with some zeroes.