I think the problem lies with the layout, the area surrounding your $nextScene is overlapping the box that defines the edge of the screen. Try moving it to the left so its not overlapping. If that solves the problem, then you have two options, either keep it not overlapping, or check to make sure the body entering it is the player and not something else, then if it is, show it.
Just as an example, if your player node is named Player, you would put:
func _on_body_entered(_body):
if _body == “Player”:
$nextScene.show()
interaction_flag = true
Or, if the on_body_entered(_body) script is attached to the player node and not the button node, you would replace “Player” with “nextScene” since it looks like that is the name of your button.