Your code is legit, and I confirm that there seems to be an issue on the leaflet.js side. Somewhat unexpected, but do have a look at the project website: https://leafletjs.com/
As a workaround I would suggest either using addCircleMarkers() or addAwesomeMarkers() - the first would add plain circles in place of markers (I find these less distracting than the pin shaped markers, but that could be just me...) and the second uses markers with icons.
Or consider this code
library(leaflet)
data(quakes)
# a single icon is declared
awesome <- makeAwesomeIcon(
icon = "info",
iconColor = "black",
markerColor = "blue",
library = "fa"
)
leaflet(data = quakes[1:20,]) %>%
addTiles() %>%
addAwesomeMarkers(~long,
~lat,
icon = awesome,
popup = ~as.character(mag),
label = ~as.character(mag))
On an unrelated note: while it is technically legit to have both popup and label with the same content (magnitude of the earthquake) it seems somewhat odd... I would pick just one, and dropped the other.