You are spending lots of time in transit, particularly with children and then short changing the time spent in most destinations - Paris and London each merit 5 full days there to just scratch the surface and you can easily fill 4 full days in Berlin.
Are you not going to spend time in Venice when you are there? Two full days (3 is better) can cover the essentials.
Excluding the cruise, you have 18 days to cover 7 locations in 5 countries and several places are going to involve at least half a day’s travel door to door eg France to Barcelona and Berlin to London. Venice to Munich is about 8 hours door to door. Excluding transit, you have about 14 days to cover 7 locations in 5 countries. Exhausting! Personally, I would be looking to reduce your number of destinations and plan out how long you are going to spend in each place and allow a sensible time for your many transfers.
I wouldn’t take a 10 year old to Dachau, but if a concentration camp is a must, then you could consider seeing Sachsenhausen from Berlin to reduce your number of destinations.
In Berlin, there are a number of good guided walks that will give you plenty of WW2 background. The museums are easy to cover yourselves - you don’t need a guide. Everything is in German and English.
Does your cruise start from Barcelona? If not, I would drop it as it’s a geographical outlier.