To clarify, what is the issue? Is it that ExRoomate (A) is spending time at your house without paying money? Is he sleeping over?
1 person per room is an odd law, are you sure that's correct?
Frankly, since you're living in the house and this is more of a roommate situation than landlord from afar situation, I feel like this is a bit strange. Can't you just have an honest conversation? "Look B, I like A and all, but there needs to be a limit on how often he's over. You're the tenant, not him, and unless he starts paying rent again, we need to limit the number of nights he sleeps over. Thanks for understanding."
On the other hand, you previously lived with both of them. Why not just offer to re-write the lease for an increased amount (but still not twice the rent) to account for the added wear and tear on the room and let them both live there? You get more $, and then it isn't an issue.
Assuming it is legal for the room to have an occupancy of 2, of course.
EDIT: I re-read and realized they have only been dating for a short amount of time, and thus likely don't want to be on a lease together. So that last point might be out of touch.