My question is why is the rate higher on one exchange than on another?
If you look at the price difference on those exchanges, it's usually not much of a difference. What I mean is that you cannot see Bitcoin trading at $40k in the "A" exchange while it's trading at $43k in the "B" exchange. The difference is not just too far, and the reason has already been mentioned in the first comment.
There are different exchanges, and a lot of people around the world are using most of those exchanges, and they are setting their different buy and sell orders, so it depends on the last executed order. That's when you will see a little price difference in one exchange compared to another.
For example, if someone places an order to sell Bitcoin at $42,800 on the Binance exchange and another person places a sell order of $42,200 on MEXC, if the second order first gets excused, the price of Bitcoin on that exchange will drop to $42,200 until another order is executed too.