Brokers can charge whatever they want as long as those fees are disclosed up front.
Because of the constantly increasing cost of doing business (whether it is owning a brokers office or running any other businesses, small or large) little fees or large fees seem to pop up everywhere in the course of operating a business.
Brokers fees (commonly nicknamed "transaction fees") were implemented in the early 90ies (maybe before) and became very popular in the half part of this millennium's first decade During the plunge of real estate sales from 2006 - 2011 when many brokerage firms, large or small, were forced to close down branches or even go out of businesses entirely. That period is also when those fees increased so brokers could recuperate some of their losses to stay afloat.
The "Termination Fee", on the other hand, is usually associated to listings only. For example: When an agent takes a listing of six months and three months later a seller decides to terminate the listing for whatever reasons, the listing Realtor has already spent three months of marketing that property (cost for advertising, flyers, fuel to and fro to show that listing, time wasted, etc.). So compensation - "Termination Fee" - is not unreasonable to demand but as long as such "termination Fee" is already disclosed in a specific amount in the Listing Agreement.