OTP isochrones has been designed for transit + walk, and rely on a speed assumed to be a "walk" speed to determine the accessible points. In your situation what I suspect is that the location at vertices do have the correct times; but as the isochrone generation process interpolate the missing times along edges (which are not available directly from the SPT, the result of the path computation), it uses a "default" walk speed for that computation. What you see on your result are probably small islands around vertices, and holes alongside long edges.
For your second issue, it may be also related to that, but I'm not sure. You have to know that OTP isochrones have never been tested for CAR mode.
To solve this, you can first try if modifying the walk speed taken by the isochrone generation process works (try changing the default walkspeed of the request). If this works, you can solve this properly by setting the speed along edge depending on the current travel mode at both ends of the edge (see SPTWalker.java L108, "double speedAlongEdge = spt.getOptions().walkSpeed;").
HTH,
--Laurent