What is wrong with CSV for data for data exchange?
Nothing, to a certain point I suppose, but I've always thought of it (CSV) as having no structure. Without structure, you have no means to represent the data, none whatsoever actually.
but why is it necessary for humans to be able to read a format that is used to transfer data between two computer applications?
I don't actually feel the format it's self has anything to do with human readability, but what has got to do with human readability, is what you can do with that format? Which kind of backs up my first response from the quote I made of your post.
The computer is only interested in the data, not what to do with it in other words
to be able to figure out what the data means when it is used for exchange between computer applications whose designers have upfront agreed a meaning for the data they send to eachother?
You've said as much yourself... It's about distribution of the data. We have XML as such as the format as it is, because the people of the W3C had the obvious vision of what they, and others that contributed advice and contributed their views, could do with just that format.
Big business had an invested interest in how XML was developed as a format, and I believe that they made themselves apparantly clear huh?