I have been reading Fast Secure Two-Party ECDSA Signing by Lindell, and I see that in key generating and signing (pages 9-10, especially visible from Figure 1), only the first party performs a commitment, whereas both parties perform a proof-of-knowledge. I have seen this paradigm also in different two party protocols. Though, I do not quite understand why both parties need to provide zero-knowledge proofs, but only the first party needs to provide a commitment? What's the reason for this?
There is no simple answer in general to this question. In this specific setting, the zero-knowledge proof is needed to extract the discrete log of the value sent by the party and this is needed in the proof. In some other two-party protocols, this isn't needed. So, there's no general answer.