Assuming that the by argument maps to ggplot's fill aesthetic, it would be done like this in ggplot
ggplot(data = data_long_labels,
aes(y = score,
x = job,
fill = affect)) +
geom_boxplot() +
(labs(x="Job Status", y="Attractiveness Score", fill = "Facial Expression"))
If by maps to color, change the labs argument to color.