This kind of column manipulation is not typically done with a for loop. There are many functions available to change the content of columns or add new columns. Below is an example of replacing every m with an empty string in columns whose name starts with HW.
library(dplyr)
DF <- data.frame(Name = LETTERS[1:4],
HW1 = c("UmI", "AAA", "mop", "GHR"),
Name2 = LETTERS[11:14],
HW2 = c("uuu", "jnm", "IOP", "mmJ"))
DF
#> Name HW1 Name2 HW2
#> 1 A UmI K uuu
#> 2 B AAA L jnm
#> 3 C mop M IOP
#> 4 D GHR N mmJ
FuncM <- function(x) gsub("m", "", x)
DF2 <- DF %>% mutate_at(vars(matches("HW")), .funs = FuncM)
DF2
#> Name HW1 Name2 HW2
#> 1 A UI K uuu
#> 2 B AAA L jn
#> 3 C op M IOP
#> 4 D GHR N J
Created on 2019-10-09 by the reprex package (v0.3.0.9000)