I guess your GenerateSrings template contains a [file] tag.
If I understand correctly what you're trying to do, you'll have to refactor your acceleo template just a bit, like follows:
[template public generate(app : Application)]
[comment @main /]
[for (page : Page | app.page)]
[for (activity : Activity | app.activity)]
[if (activity.name.contains(page.name.replace('activity_', '').toUpperFirst()))]
[genPage(page, app.name, activity)/]
[/if]
[/for]
[/for]
[app.genStrings()/]
[/template]
[template public **genPage**(element:Page, appName:String, activity : Activity)]
[GenerateJava(element,appName,activity)/]
[comment GenerateStrings(element)/][comment don't do it here/]
[GenerateXML(element,activity)/]
[/template]
[template protected genString(app : Application)]
[file ('...strings.xml', ...)][comment that way, only one file will be generated for the application/]
[for (page : Page | app.page)]
[for (activity : Activity | app.activity)]
[if (activity.name.contains(page.name.replace('activity_', '').toUpperFirst()))]
[GenerateStrings(element)/]
[/if]
[/for]
[/for]
[/file]
[/template]