Thanks to the National Labor Relations Act, if a union represents >50% of employees of a company, then the union's negotiations apply to all employees.
So, you have an incentive to not pay union dues, as whatever the union negotiates for, you will get without paying a penny. Not to mention that if there's a members-only agreement, where members get more pay/benefits/etc, this creates a reason for an employer to not hire union.
Due to this, unions can't really fight for members-only agreements.