Maya is particular when it comes to Boolean functions. Maya wants all faces to be planar and all the normals facing the same direction. To do this we need to find out if the normals of both objects are facing out. Here we go....
1) Select your object>Display>Polygon Components>Short Normals. Now it looks like you have little hairs sticking out of your object (if you don't see little hairs sticking out then zoom into your object and see if you see them). These little hairs indicate the direction of your normals. If all the normals on your object are facing out (I mean every normal) then you’re ok. If there not facing out then right click over your object and select Faces. Now marquee drag over the entire object and select Edit Polygons >Normals>Reverse (select the little box next to it), select Reverse from the drop down menu, select reverse normals. Both objects you are trying to Boolean need to have all normals facing in the same direction.
What if you have Normals that are facing inward and outward?
2) Select your object, Right click over your object and select Faces.
Marquee select the entire object and go to Edit Polygons
>Normals>Conform. This will force the normals to face one direction. If the normals are facing in then follow the directions above to get them facing out.
Try the Boolean>Union operation again on you’re to objects.
If that doesn't work, then you can select your doggie Head/Neck, and Doggie Body, and Combine the two together. Select the object, right click on it and select vertex. Now select one vertex on the neck and shift select one vertex on the body. Go to Edit Polygons>Merge Vertices (select the little box next to it). Type in 10.000 for the distance, select Merge Vertex. Now go to the next Vertex and repeat (this time you can hit the G Hotkey, it remembers your last function). Continue until all the vertices are merged. Most objects will not have the same number of vertices, so you will need to delete or add vertices to the objects.
I hope this helps!