When converting a reusable or a component to blocks, all blocks (container and all descendants) classes stay the same, i.e. they are not regenerated.
This is an issue because when using the component/reusable and the blocks-only version on the same post, there are conflicts between CSS rules: the winning rules are the ones from the latest element in the page.
WORKAROUND: Convert to blocks, duplicate with Cwicly, remove converted blocks and keep only duplicated blocks.
This is one reason why we avoid using the dynamically generated class names and use semantic naming for them instead and prefer the use of reusable global classes as well, where appropriate.
This should now be fixed for Components with 1.4.0.3:
Kindly let me know if this is the case on your end.
Thank you in advance.
As for Reusable blocks, there is currently no way for us to hook into the Reusable block detaching function.
I’ll leave this in confirmedgutenbergBugs for now, until this is made possible by the Gutenberg team.