Earlier quoted context omitted.
By the definition of "punish" that you are implicitly using, private businesses in America used to be able to punish people for anything ("we reserve the right to refuse service to anybody"). Now there are certain things they cannot punish people for (e.g. being black). Are you suggesting that the time has come to mandate that companies may not discriminate against customers for other reasons as well?
> Now there are certain things they cannot punish people for (e.g. being black). Are you suggesting that the time has come to mandate that companies may not discriminate against customers for other reasons as well? We should pick one or the other. Either it's fine to discriminate for any reason, or some businesses have a public service obligation and must serve anyone.
Policy in a well-functioning, pluralistic, society will necessarily have (occasionally self-contradictory) compromises because we are trying to satisfy groups of people with sometimes conflicting needs and values.