1- Miners ming blocks and get rewarded as follow :
n=5ETH static block reward;
A block on the main chain gets a reward of n. When a block includes an
uncle, the uncle gets a reward of 7/8*n (4.375 Ether) and the block including the
uncle gets a reward of 1/16*n (max 1/32*n, a maximum of 2 Uncles allowed per block). The miner will also receive all the gas in fees that it generates from the transactions in the block that it verifies
read about : GHOST protocol
2- who set this reward is the Ethereum protocol for economic reasons it is currently equal to 5ETH for main blocks.
3- the miners however decides the gasprice which determines the fee that they will get if they include transactions into their blocks. they can't set a high gas price because there is a competition between them.
Read also : https://blog.ethereum.org/2016/10/31/uncle-rate-transaction-fee-analysis/