Non, c'est faux. Dans b, on ne place pas la boite a mais la valeur qu'elle contient. C'est important parce que même si on change ensuite la valeur de a, cette modification ne se répercute pas automatiquement sur b : une variable désigne une valeur (un entier, une chaine, un objet, etc.), pas une expression.
Cependant, la métaphore de la boite n'est pas pertinente en Python : elle ne permet pas de comprendre les phénomènes d'alias (cela supposerait qu'un objet soit dans deux boites différentes simultanément, ce qui est très contre-intuitif).
Une bonne représentation des variables en Python (plus généralement du modèle mémoire) est un schéma avec des flèches comme dans Pythontutor (très pratique pour suivre le déroulement d'un programme).