I tried to reproduce your problem and I get only one legend. I had to make up data, so the difference probably lies in the data details. Can you post a small data set that results in the problem?
(I removed the setting of base_family to avoid a bunch of warnings about the font family)
library(ggplot2)
library(viridis)
#> Warning: package 'viridis' was built under R version 3.5.3
#> Loading required package: viridisLite
data.df4 <- data.frame(age = c(10, 10, 10, 20, 20,20, 30, 30,30, 60, 60, 60),
total_trees = c(100, 10, 34, 125, 13, 46, 150, 17, 52, 180, 20, 65),
status = rep(c("native", "exotic", ""),4))
base <- ggplot(data.df4, aes(age, total_trees, colour=status))
base + theme_classic(base_size = 10) +
scale_y_log10() +
geom_point(aes(color = status)) +
geom_smooth(aes(color=status, fill=status), method = "lm",se=TRUE) +
scale_color_viridis(discrete = TRUE, option = "D")+
scale_fill_viridis(discrete = TRUE, option = "D") +
labs(title = "changes in planted canopy and subcanopy tree and shrub density over time",
x="planting age", y="density (plot-level)")

Created on 2019-05-10 by the reprex package (v0.2.1)