Adding labels to the map:
const labels = bounds
.selectAll("text")
.data(SA4_topo.features)
.join("text")
.attr("class", "SA4_area_label")
.text(d => d.properties.SA4_NAME16)
.attr("x", d => pathGenerator.centroid(d)[0])
.attr("y", d => pathGenerator.centroid(d)[1])
This pulls the detail from the geojson file and calculates the centorid of the polygon to work out where to place it
I looked up some different ways to style a map and used one of the tips about increasing letter spacing to indicate that the label covers a larger area and not just a point