When should I take my protein shakes bearing in mind I only do crossfit twice a week? Should I also take it on rest days?
You already mentioned that you know protein shakes are not magic, and you should eat a balanced meal.
So don't think of protein shakes as anything more than another food. It's just a food with a really skewed macro ratio.
The general advice is to get 2.2g per 1kg. (1g per 1 lb.) of lean body mass a day, regardless of whether or not you worked out that day. So that means that the foods you eat in that day should contain that much protein.
So when should you take it? Whenever is convenient for you. You're meal is lacking a protein? Take the protein shake. You can't have lunch (because life)? Take the protein shake. Hungry and looking for a snack? Take the protein shake.
For macro counters, they're another tool that helps them keep within their dietary limits. For everyone else, they're a food that's very easy to transport and doesn't require cooking (though can be expensive).