In some contexts they have the same meaning, but strive simply means to make efforts while struggle can imply difficulty or resistance.
1. He strives to learn English.
2. He struggles to learn English.
In both examples, he tries to learn English. In sentence 2, however, he tries to learn English, and it is very difficult for him.
Struggle is a negative word, and strive is a neutral word because one can use it in a positive context or in a negative one.