Hole in a cube with boolean
I went through the manual and found that it is supposed to work that way. you can instead go to user preferences and tick the loop tool add-on.

then subdivide the surfaces -> select the faces you want -> edit on the side panel ->
loop tools drop-down -> click on circle -> later you may delete those faces.
Add more subdivisions if you want a more accurate circle or add a subdivision modifier(you might want to clean up a bit by adding edge-loops.