In British English, we would certainly use the first one. In this context, you can understand 'staff' to mean 'members of staff' - in other words, individual people - so we would use a plural verb. 'Staff who have...'. The idea of '[Members of] staff who have..' is understood.
There are other cases where 'staff' is singular. For example, you could say "The company has a very loyal staff", referring to the entire group as a whole. In this context, 'staff' is a synonym of 'workforce', which is seen as a single entity.
American English is slightly different in this regard. American English does not have the same flexibility to interpret group nouns as singular or plural according to context, and AmE speakers tend to avoid treating singular nouns as plural.