Exchanges don't charge a broker for live data as a trader/investor requires it to place his trades. Since a broker doesn't have to pay for this, he in turn gives out free to his clients, but note that this can be given only on the trading platform where the orders are placed from.
Esignal on the other hand is a data vendor, and not a brokerage. They have to pay exchanges quite a bit of money to get empanelled as a data vendor, and also an incremental cost for every client they provide data to. Check this out.
Esignal is also more expensive than other data providers, as the price includes the cost of using Esignal platform. In case of Amibroker, you have to buy the license to the platform, and then subscribe to a data vendor.