Hi,
I don't see any problem on your website.
You've created custom order fields which only display when you purchase a product from a particular category.
When you go to the checkout and you have one of these products in the cart, the fields are displayed, otherwise, they aren't.
That's how it's supposed to be.
And if I have only product product, I don't see the custom fields of the other product. So it seems that what you're describing ('when you add to cart products of different categories, every product displays on order form all the custom fields, including the custom fields that are assigned to the other product added to cart') is not happening.
So maybe I didn't understand something in what you explained as I couldn't find any problem.
If you do have a problem, please provide screenshots of the settings and of the results so that we can have a clear understanding of the problem.