So here's an idea with a very short sample table :
tibble::tibble(`Taxa ID` = as.character(letters), as.character(1), as.character(2)) %>%
mutate(across(2:last_col(), ~ as.numeric(.)))
select only chooses columns but doesn't do any transformation.
across() inside mutate allows you to perform the operation on multiple columns
mutate_at is superseded and slow so use across 
If you wanted to use mutate_at, here's how :
tibble::tibble(`Taxa ID` = as.character(letters), as.character(1), as.character(2)) %>%
mutate_at(2:3, ~ as.numeric(.))