Both the claims that it is caused by celibacy and by homosexuality are completely idiotic. I am sorry to say this.
The rate of pedophilia in the Catholic Church is actually lower than in schools. However, clergymen look out to each other, because of misunderstandings about sexual offenses, because of the fear of losing clergymen when there are already not many, and because of plain old corruption. What will solve this issue is not to let priests marry, or to kick out any priest who admits to homosexual tendencies. What will solve this issue is to apply St Basil the Great's canon to the letter:
>“The cleric or monk who molests youths or boys or is caught kissing or committing some turpitude, let him be whipped in public, deprived of his crown [tonsure] and, after having his head shaved, let his face be covered with spittle; and [let him be] bound in iron chains, condemned to six months in prison, reduced to eating rye bread once a day in the evening three times per week.
>After these six months living in a separate cell under the custody of a wise elder with great spiritual experience, let him be subjected to prayers, vigils and manual work, always under the guard of two spiritual brothers, without being allowed to have any relationship … with young people.” (St. Basil of Caesarea, in St. Peter Damien, Liber Gomorrhianus, op. cit. cols. 174f.)
And this decision must come from the Pope himself.