Basically your function does the same thing. The only difference is the formatting of the data. You pass in two lists. One is a list with the column names, and the other is a list of lists with the multirow data. template::util::list_to_multirow takes a single list of lists that already has the column names embedded in the sublists. The only real difference is where the list of lists is formatted. Your function does the formatting of the sublists, while template::util::list_to_multirow expects it to be done externally.
Instead of creating a new proc with a similar name, who don't you patch template::util::list_to_multirow to take an optional -column_names argument and incorporate your functionality into it?