ggplot faceted scatterplot - why are all of my plots identical?

Because your pivot table gives identical Easting/Northing values to all species, and because the presence/absence data that distinguishes species is missing in your ggplot code.

Does this give you what you're looking for?

#plotting scatterplots
ggplot(
  df.piv |> 
    # include only species present at each site
    filter(`presence/absence` == 1)
  ) +
  geom_point(aes(x=Easting,y=Northing)) +
  facet_wrap(~Species) +
  theme_bw() +
  ylab("Northing")+ xlab("Easting")

Created on 2024-01-19 with reprex v2.0.2