"both" is plural: both are, both have. but when you have intervening words or phrases, sometimes the speaker forgets and just uses the verb form that matches the closest noun.