у тебя внутренний Container (с текстом) не имеет размеров — он сжимается до размера самого Text и не перекрывает Image. Добавь ему те же width/height что и у картинки:
ft.Container(
content=ft.Text(
value=text,
color=color,
size=16,
weight=ft.FontWeight.BOLD,
text_align=ft.TextAlign.CENTER
),
alignment=ft.Alignment.CENTER,
width=page.window.width * 0.936,
height=page.window.height * 0.158,
)
а то что картинка "не того размера" — скорее всего из-за fit="contain", он сохраняет пропорции и не заполняет область целиком. Попробуй fit=ft.ImageFit.COVER если нужно заполнить.