What if you switch out the Join Geometry with a Geometry to Instances Node???
Otherwise, if you can post a link to your .blend file, via Dropbox, GoogleDrive, or so, then I can have a look and see what works. It should be an easy fix.
But anyway, the problem is the way the randomization is set up in the Material. That gives a random per Object and after Realize Instances, all are just one Object.
There are several ways to go around this, but I think the easiest is to use an Attribute for the randomization. Maybe something like this (I also switched to a 1D Noise Texture because it’s ‘cheaper’):
Martin, thank you so much. I thought it might involve attributes of one sort or another but wasn’t sure of how to actualise that. I truly appreciate your time and expertise in helping me with this. Thank you so much!