I'm a pharmacy student and I have learnt about this, so I may be able to answer your questions.
Whilst there shouldn't be any reason why generic medicines should be tested on animals, unfortunately they are.
Pharmaceutical companies need to prove that their generic medicine will have the same effects as the original. For example, they need to prove that the medication will reach the same blood concentrations and in the same time, and how it is excreted from the body.
For these studies, they usually use healthy human volunteers to do this. However, some medication is very toxic to the body, for example, cancer medications.
They can't test the drugs in cancer patients, because, when they are sick, the way the drug works can be different. They can't test it in healthy patients, because cancer medication CAN give you cancer! So, they have to do these tests in animals.
Yes, they HAVE to. If they do not, they can't be marketed as a generic medicine, because they can't prove it is like the original AND they can't market it as an original brand, because they have proven the efficacy. It is the LAW.