It's not due to an invisible box, but to the button height. And it's not in the "main_menu" screen, but in the "navigation" one, that you'll find the cue.
Python:
screen navigation():
vbox:
style_prefix "navigation"
[...]
if main_menu:
textbutton _("Start") action Start()
else:
textbutton _("History") action ShowMenu("history")
[...]
The buttons depend on the "navigation_button" style, that is defined as this:
style navigation_button is gui_button
Then when you look at the gui.py file, you find this:
Python:
## The width and height of a button, in pixels. If None, Ren'Py computes a size.
define gui.button_width = None
define gui.button_height = 54
The height value may be different, but it's surely what cause your issue.
Either change it to a value that do not cut the shadow or, better, follow the comment and put the value at
None
to let Ren'Py adjust the height to the image you'll use.