In short: Unfortunately, it does not work the way you have constructed it.
The problem is that you cannot change the properties of an object once it has been instantiated. An instantiated object is created once, and can then only be converted into a mesh or curves.
So the hurdle in this case is actually to achieve a random value for the distribution of the petals.
The trick is: don't create the single flower as a separate object, but inside your node tree (yes, I know, that's a pity, but there's no other way in this case).
And you can do it this way (I'm talking about the petals here, but you can use the same technique for the flower base):
Create the stem and the petal base on which you want to instantiate the petals (simplified here) distribute it at the places and in the way you like (in this example, simply on a grid).
For the petal base, however, set a boolean value to true with the
Capture Attribute node. We will need this value, and also one for the position of the vertices along the X axis, in the next step.
Then use the node
Realize Instances, so that you can process your instances as a mesh. But since you have previously given the bloom floor a boolean value, you can now use that to decide where the
Distribute Points on Faces node should randomly distribute your desired points.
Since you have all the petals as a mesh at hand in this step, the distribution on each petal will be different.
You can then also use the Z position for scaling and rotation so that the instantiated petals correspond to the desired flower. The "Map Range" nodes help you to change the arrangement of the petals or the appearance.
Here is an overview of the complete node group:
Here is the blend file: