The ‘category’ condition requires all products in the cart to have the given category before the condition matches. So if there are two or more products in the cart with different categories, the rate won’t show up.
Instead you can try the ‘Contains shipping class’ condition – the Contains condition allows for other products to be in the cart at the same time.
(A custom condition can be used to add ‘Contains category’).
If you want to check for more products you can try the ‘Quantity – greater – 2’, though this would allow for 2 of the same category/class.
Instead you can also add another ‘Contains class’ condition to check for other classes in the cart. You’d have to setup a separate condition group for each of the different classes though.