How to append many objects without appending materials
After importing the objects you can use a python script to remove the use of duplicate materials. As each duplicate gets a numeric extension we can test whether the material without the extension exists and use it if it does exist.

import bpy

mat_list = bpy.data.materials

for o in bpy.data.objects:
    for s in o.material_slots:
        if s.material.name[-3:].isnumeric():
            # the last 3 characters are numbers
            if s.material.name[:-4] in mat_list:
                # there is a material without the numeric extension so use it
                s.material = mat_list[s.material.name[:-4]]