The regular expression I used means:
look behind for a hyphen and a space and then match one or more characters that are not hyphens until the end of the string. (?<=- ) means look behind for a hyphen and space [^-]+ means one or more characters that are not a hyphen $ designates the end of the string.
library(dplyr, warn.conflicts = FALSE)
library(stringr)
Name <- c("Practice - Sept. 1, 2021 - Firstname Lastname", "Practice - Sept. 30, 2021 - John Doe")
Value <- c(4,6)
DF <- data.frame(Name, Value)
DF <- DF %>% mutate(Name = str_extract(Name, "(?<=- )[^-]+$"))
DF
#> Name Value
#> 1 Firstname Lastname 4
#> 2 John Doe 6