I felt safe in Peru (of course use common sense) and it was easy to get around by public transport. We had 30 days and chose to go to northern Peru for 11 days, we had one day in Lima, 9 days for Cusco, the Sacred Valley and MP, 6 days for Arequipa and the Colca Canyon and 3 days for Huacachina and Paracas. We did not go to Lake Titicaca. I think if you do go you should make sure you have time for an overnight on one of the islands (Taquile, Amantani).
Some Colca Canyon tours have hiking in the canyon, others don't. I don't know which one you booked. We went hiking in the Colca Canyon on our own and we had 5 days to get to Cabanaconde, stay two nights down in the canyon and to get back to Arequipa.
Nothing is a must. It depends on your interests. We like to hike and we like nice scenery so hiking in the Sacred Valley and around MP and in the Colca Canyon were highlights for us. We like animals so we would not have wanted to miss the Ballestas Islands. We like ruins but are less into ruins than into nature and scenery. Still, we were amazed by all the ruins and thought they were all great (not just MP, also Ollantaytambo, Pisac, Sacsayhuaman, Chinchero, the Moray terraces and the Maras salineras).
So: if you have 2 days for Paracas and Huacachina, one day in Arequipa, 2 days for the Colca tour, 4 days for Cusco and the Sacred Valley plus the 4 day MP hike and one day in Lima you might be able to squeeze in Lake Titicaca (4M Express or Rutas Del Sur from Chivay to Puno). That is assuming you have 17 full days. It depends on how much you like cities and good food. Some people like to have 2 days for Lima or even 3. And some people really like Arequipa. We were fine with one day there but some people love it there and would happily stay for 2 days.