Rewards are coming from inflation, 1% per year is for block producer rewards. New tokens are being produced and given to the block producers.
EOS is a DPOS blockchain and as such the production of blocks is not a competition between the block producers but a cooperation. The block producers take turns and each one produces 12 consecutive blocks which takes 6 seconds. Then the next block producer takes over and processes the next 12 blocks.
There is a formula which divides the block reward between the active block producers and the stand by block producer. A quarter of the 1% inflation goes to the top 21 block producers, they are the active block producers. The rest, 75% of the 1% is divided between the top 100 or so block producers with a cut-off at 100 EOS per day. Currently there are 78 block producers getting paid and this changes all the time and depends on user's votes.
There are several places where you can see the live rewards given to the block producers.