new is an actual object; new_callable is a callable used to create an object. The two cannot be used together (you either specify the replacement or a function to create the replacement; it’s an error to use both.)
>>> foo = 6
>>> with mock.patch('__main__.foo', new=7):
... print foo
...
7
>>> with mock.patch('__main__.foo', new_callable=lambda : 8):
... print foo
...
8
When new is mock.DEFAULT, the mock object is a MagicMock instance precisely because the default value of new_callable is MagicMock.