The first "for" does indeed mean "because". The second one, however, means "aimed at". So the sentence basically means this:
These [writings] were chosen by teachers in the Renaissance after a lot of thought and discussion, because works written by the sophisticated adults of pagan Rome [and] for an audience of similar sophisticated adults of pagan Rome were not always considered suitable for the Renaissance children.
"by and for [X]" uses the technique of ellipsis/elision, and is equivalent to "by [X] and for [X]". The phrase "the sophisticated adults of pagan Rome" is only written once, despite applying separately to both "by" and "for". That is, the works were written by the same general category of people that they were designed to be popular with.
This pattern can be used in a lot of cases; usually when you find that a single sentence contains the same rather long phrase two or three times, there's a way to use conjunctions or listing constructs to reduce the redundancy. Here, "and" is not necessary in the fuller sentence I wrote (although it is not wrong), but it is necessary in the shorter version.