Without elaborating on the technical differences, because I'm probably not qualified to give a full answer in that respect, I'll answer the first part.
The reason butterfly has a higher peak speed is that you are pulling with both arms at once. When pulling with both arms, you're going faster than the one arm pull of freestyle. When recovering both arms, you are slower than the average freestyle speed in which you're pretty much always moving an arm or staying long in the water.
This pdf states:
The large power impulse generated by the simultaneous double-arm
pulling pattern yields great propulsive potential; however, during
the arm recovery phase there is no propulsion generated. This creates
a minor ‘dead space’ in the stroke.
This ppt states:
...since speed drops significantly during the recovery phase, it is
overall slightly slower than the freestyle.
I'm not entirely sure why the tradeoff ends up being slower. I know if you run into a wind for distance x and then with the wind for the same distance, it's slower than running with no wind, and that can be proven with simple math. Maybe that is the situation. You're pulling twice as hard and then getting no pull. And you can't be as long in the water all the time during butterfly, which is a big reason for speed. All the elite swimmers are pretty tall with large wingspans.