Locally, it is true: Pick a point p in M. If p is not in E, take a coordinate nbhd U_p of p not intersecting E. Then U_p is path connected since M is. If p is in E, pick a coordinate nbhd U_p of p "adapted" to E, meaning U_p maps to R^n={(x_1,...,x_{n-2},y,z)} and E maps to R^{n-2}={(x_1,...,x_{n-2},0,0)}. So two points P,Q in U_p\E map to points whose last 2 coordinates are not both 0. Clearly we can find a path between P and Q that does not intersect E. For instance, if
P=(x_1,...,x_{n-2},2,-1), Q = (x'_1,...,x'_{n-2},0,3),
consider the "rectangular path" that first brings the z coordinate of P from -1 up to 3 while leaving all the other coordinates fixed, then brings the y coordinate of P from 2 down to 0 while leaving all the other coordinates fixed, and then brings the nonprimed coordinates to the primed coordinates in any way. (Note that we cannot do something like this if E has codimension 1, but if E has codim >2, then a similar argument works)
Ok, so now we're practically done: Pick any 2 points in M\E, and a path (in M) between them. Cover the path by coordinate charts of the form considered above and extract a finite subcover. Then forget the initial path and use the local argument above to construct a path between the two points which never crosses E and hence lies in M\E, thus proving M\E is path connected.