Actually, it doesn't matter whether or not he served them before.  What matters is that he's refusing to offer them a service based upon a sexual orientation.  The fact that he followed the law before doesn't mitigate the fact that he didn't follow the law this time.

He refused to do a service based upon sexual orientation of the customers, a service that he usually does for straight customers.  That's discrimination, plain and simple.  The fact that he was willing to do a different service for these customers does not negate the discrimination on the one service.