As @andresrcs says a reprex would be useful here, but I'm going to make a couple of guesses.
You use geom_polygon, so usa_df I assume is a data.frame with polygon definitions in it - so a row corresponding to each corner or the state level polygon - ie a lot of points per state and a state identifier. Resulting in a data.frame with 15537 rows.
Then your church attendance data is in another data.frame, with presumably one row per state, so they don't match up, and hence the error. You could merge the two data.frames so that every line in the polygon data.frame also contains the church attendance info. But that would be replicating the attendance data, and might get big if you have multiple variables you want to look at.
An alternative, which I would favour, would be to familiarise yourself with the sf package and create an sf object with one row per state with the polygon information in the geometry column of this object and the other info in the other columns, giving easy usage through geom_sf.
I'd also check your spelling of variables, I think there should be an n in ...Atteding.Church, but that might be right and reflect the original data source.