Could you post a reprex (minimal reproducible example)?
The code I have showed you works, so there must be something special about you are doing.
Also the whole approach is quite strange (adding a matrix to a df to turn it into a list and then to columns) and if provided with a little more context, perhaps me or someone else could indeed propose a very different way to tackle your issue.
For example, why don't you first convert the matrix into a data.frame to begin with and then column-bind the 2 data.frames?