The sentence is correct. The complement of the preposition for is a verbal phrase.
The second to isn't really a preposition of its own. It's part of the verbal phrase for [subject] to [verb], which means “with the purpose that [subject] [verb]”. An equivalent, grammatical way to phrase this clause would be “… software whose purpose is that you can assess each other's work” (this is idiomatic in that this sentence doesn't sound wrong, but it's too long-winded for normal use).
The clause that explains the software is the one introduced by for. If there was no subject in that clause, then we could use either for + gerund (“… software for assessing students' work”) or to + infinitive (“… software to assess students' work”). Since the subject is different, we have to use for followed by the subject (in the object case: “… for them to …”), followed by to and the verb.
“… for you to assess each other's work with” is grammatically correct, but not really idiomatic. It would be a way to combine “We've worked with Coursera to create new software” and “The purpose of what we're doing is that you can assess each other's work with this software”. Here with isn't a particle that's attached to the verb like in go to, and there is no complement of the preposition hidden in the clause like in “I have a pen to work with” (“new software” is part of the previous clause), so with is superfluous and would normally not be used. The fact that the assessment is made with the new software is semantically implied.