E.B.
The IEP and 504 are two different things. The IEP is for children who learn differently from the "normal" or "average" student. In other words, they might have dyslexia and can't read, or they are limited in their intellectual capacity and therefore will not be progressing in the traditional curriculum (they will not be able to grasp algebra, for example, but might be able to learn simple arithmetic), or else they require a complete special needs curriculum. They need modifications to the curriculum presented to them. They are unable, for whatever reason, to achieve success with the standard curriculum.
The 504 plan is for students who can learn at the same level as their peers, but who require accommodations. They don't need the curriculum to be modified, but they need accommodations in the classroom. Think, for example, of a bright student who is unable to use his or her hands to write due to cerebral palsy, or a student who wears hearing aids and needs to be seated nearer to the teacher, or a student who needs to leave the room at any time due to anxiety or to check his or her blood sugar or to take medication. The curriculum has not been changed, but the student is granted certain liberties such as extra time to take a test, an aide to write answers, or preferential seating.
My daughter has a 504 plan due to medical issues. She is excused for doctors' appointments or on days when she's ill, and the teachers reduce her workload. She gets extensions on time limits too. But she follows the same curriculum as the other students in her grade.
If your son is on par with the rest of the students as far as academics then it sounds like a 504 would be good for him. He could leave the room for test-taking still. A 504 plan needs to be reviewed just like an IEP periodically. The parents can have input as to what they want on the 504, and the teachers can have input too.
But that's basically the difference: modification of curriculum vs accommodations during the school day. Hope that helps.