A loop is not the best way to accomplish this task, take a look at this alternative method
library(dplyr)
x <- read.csv("BOM_test.csv")
x %>%
nest_by(Assembled_Product_Code) %>%
mutate(data = set_names(list(data), Assembled_Product_Code)) %>%
list2env(x = .$data, envir = globalenv())
Note: Next time please provide a proper REPRoducible EXample (reprex) illustrating your issue.