I understand that volcanoes occur where oceanic crust is subducted under continental crust such as the Andes. However, they don't occur at places like the Himalayas and Alps where continental crust is colliding with another chuck of continental plate. Why the difference? Is it that the continental crust isn't forced deep enough? Or is the continental crust too dry? Or something else?
Or is the continental crust too dry?
Exactly this. Continental collision zones are actually full of volcanic rocks, which formed at the time before it was a continental collision zone. The Wikipedia article on the Geology of the Himalaya has a nice summary of the suture zone:
"Dras Volcanics": are relicts of a "Late Cretaceous" to "Late Jurassic" volcanic island arc and consist of basalts, dacites, volcanoclastites, pillow lavas and minor radiolarian cherts
"Indus Suture Zone": represents the northern limit of the Himalaya. Further to the North is the so-called "Transhimalaya", or more locally "Ladakh Batholith", which corresponds essentially to an active margin of Andean type. Widespread volcanism in this volcanic arc was caused by the melting of the mantle at the base of the Tibetan bloc, triggered by the dehydration of the subducting Indian oceanic crust.
So yes, there were quite a lot of volcanoes just before the collision itself, when you still had an island arc due to the oceanic crust part of the Indian plate subducting below the continental crust to the north of it. Once that has been decapitated and dropped into the mantle, you had dry continental crust colliding with another chunk of dry continental crust. There is some melting here and there (leading to mostly plutonic rocks including the famous Himalayan leucogranites), but nothing serious.
Two major reasons, crustal thickening and thermochemical interactions.
Heat plumes, whether from crustal recycling or the deep mantle, can only melt through so much rock before they lose heat and either convect away or freeze on/in to the rock they have penetrated as intrusive deposits. Crustal thickening as rock piles up at convergent margins means that plumes of hot rock simply don't have enough energy to melt through into range of the surface. Thus instead of surface volcanism melting results in subsurface intrusion of rock.
The thermochemical side is more of a why there are volcanoes at subduction zones; the seabed deposits on the the subducting plate contain a number of minerals that, when heated sufficiently, break down and release compounds, mainly water, that transfer heat from the deeper mantle into the base of the asthenosphere. This heat transfer causes melting of the overriding crust that feeds volcanic activity above the subducted plate.
The simplified answer is that most volcanoes occur where the crust is thin. This allows magma from the Earth's upper mantle to rise and create trouble. Most active volcanos are found at the bottom of the sea where plates are spreading! We just had one erupt near Tonga. Many island chains are made from volcanic activity. Plates that collide make mountains, not necessarily volcanoes.