Probably because original pub signs were coats of arms - the emblem a local baron or lord would carry on his 'coat of arms' - usually a linen tunic over his armour with his 'arms' or emblem oprinted on to identifiy him in battle - everyone in armour looks the same! The baron would probably give his patronage to the local tavern, who would hang a picture of his (coat of) arms outside, usually a copy of the emblem painted on a shield and carried into battle - and the name passed into general usage.