Voice masking for removing voice and not birdsong
Sound masking in time-frequency is a very complex problem, especially to do it in real-time while collecting data. For ensuring privacy I would suggest using a simpler approach.

Sparse random sampling

Instead of recording continuously for hours (potentially picking up whole conversations), record only short segments spaced from each-other in time. They need to be long enough to capture events in question (birdcall/birdsong), but short enough to not be able to capture much coherent conversation.

For instance record 0.1-1 second segments every 10-100 seconds. This can be done on a fixed schedule, or using reservoir sampling.

This approach has the advantage of not introducing any bias in the selection. It reduces the amount of data, and limits analysis to short time windows. It may also meet the privacy protection requirements.

Drop samples with Voice Activity Detection

While recording, consider segments of 1-60 seconds. Run a standard Voice Activity Detection (VAD) algorithm on each of them. If voice is detected, discard the entire segment. Need to use a low threshold for the VAD to get a low amount of false negatives (sample actually has speech).

Sampling only when the VAD does not trigger may introduce bias in the data. For instance if there is humans talk at certain times of day. Or if some birdsong is confused as human voice by the VAD.