How to split material for separate meshes
You can apply different materials to different Objects (meshes) AND different faces within the same mesh. A material is not a texture; A material (oof, don't quote me) is shader that has inputs driving its properties, some of which can be image textures.
You need to be more specific about 'saving materials as PNG's' because that isn't a thing (for the reason I stated above). However, you can unwrap the mesh's UV coordinates and export the texture projected on those unwrapped faces from the UV window.
I would recommend you Mark the border edges of each mesh as Seams, Join them all into one mesh, Unwrap the whole thing at once, and separate the meshes again (select the faces in edit mode and hit the &quot;P&quot; key to put the selection in a new mesh Object).