Mark 2/Matthew 9 and John 20 do not contradict each other. It is THROUGH the God-man, Jesus Christ, whom Catholic priests base their authority upon, not their own. Catholic priests act "in persona Christi", in the person of Christ, when they forgive sins. The priest offers visibly the healing touch of Christ to the penitent. The priest has been given power to forgive sins as a result of Christ's delegation of authority - but it is based on HIM.
Another reason why this verse is not speaking about merely "declaring what God has already done", notice that Apostles were given the power to BIND or RETAIN one's sins, as well! Look at John 20 more carefully. Christ gives the Apostles the power to retain sins of those who are not contrite. Again, God has delegated His power to the apostles to make such decisions. Through the power given them, they decide to grant God's forgiveness to a particular person.
Regards
Then Mark 2 does not really mean: "Who can forgive sins, but God only?" (emphasis added) Instead, it really means: "Who can forgive sins, but God only, or God's human designee." I see a significant difference between these two.