People are walking the marathon for a cause.
There are people on a walk.
"People on a walk" is a rephrasing of "people are walking".
exists e1 x1 x2 x3.(n_marathon(x2) & for(e1,x3) & n_cause(x3) & Theme(e1,x2) & Actor(e1,x1) & v_walk(e1) & n_people(x1))
exists p1 x1 x2 x3.((x1 = x2) & on(x2,x3) & n_walk(x3) & n_people(x2))