why do brokers have different spreads for the same instrument?
Retail online forex trading doesnt take place on a regulated stock/commodities exchange rather it takes place in an over-the-counter (OTC) market where the regulation is not as strict. This is part of why you see the discrepancy in pricing across brokers.
if you were to buy something like an ETF, Options COntract etc. from a stock exchange floor; you will relaize the fees are uniform but in the OTC market it is not so.
Because these brokers extract their exchange rate pricing (bid/ask price) from different banks and other liquidity providers. These liquidity providers do not give the same exchange rate pricing hence the spreads cannot be the same because the spread is the difference between the ask price and bid price.
But on the other hand, some brokers go ahead to mark-up the spread meaning they add to it to make up for other benefits they grant you. For example a broker that does not charge overnight swap fees may inctrease their spread to make up for not charging you overnight fees etc.
I think the forex market deserves tighter regulation but all hands are not on deck because some countries dont even want to regulate forex.