This can be done conveniently with dplyr.
I dont have your csv's so we'll go with iris dataset to generate example from.
library(tidyverse)
#example frames
df_1<- slice(iris,1)
df_2 <- slice(iris,2)
df_3 <- slice(iris,3)
(getnames <- ls(pattern="df_"))
as_a_list <- map(getnames,
~get(.)) %>%
set_names(getnames)
#binding and recording source
(result_df<- bind_rows(as_a_list,
.id="dfsource"))
#cleanup
rm(list=getnames)
rm(getnames)
rm(as_a_list)