AfterEffects unfortunately lacks the built in batch operation features like you'd find in Bridge/Photoshop.
I would suggest a workflow where you set up your "Master Template".
Use drop zones, as in sub-compositions which are nested into a final master composition which is used to render the final file.
The drop zones would be specifically sized comps for the elements you plan to use. So if you drop a photo of a veteran into "Photo-Drop-Zone-Comp", and it's "crop ready" as in, all of your photos are the same size, cropped correctly, etc, it will frame up correctly.
Use Bridge/Photoshop to size all of your photos to the same exact dimensions with the same safezones so when dropped into the AE project they are ready to render out.
Do the same for the Names, a specific drop-zone composition which allows for short and long names so no issues come up.
Your best bet would be to write a simple automation script/program which works off an excel sheet with the Veterans names. AutoIt would be a good "free choice", but there is a learning curve. I personally use WinAutomation Enterprise, but it's a pricey platform.
But you could create a simple script in AutoIt to query each line in Column A from an Excel sheet, which contains the names of the Vets.
Column B would contain the "photo file name" which you could batch process in Bridge using a specific syntax.
Auto it would then open the Master Template and then:
Save Project As -> Column A(Vets Name).aep
Import -> Image from Row X Column B (Corresponding Photo)
Automate the drop-zone process
Automate the replace text process, pulling the name from the Column A data.
Add to Render Queue - Render Out
You could also script it to instead work within "One Master Project", and instead of saving a project file for each vet, it could create comps instead, so you could do a batch render when it's finished.
AutoIt would be a good choice to do this kind of automation. It's also free, with tons of resources and sample projects you can download online.