Никто не подскажет, потому что сам по себе ваш код рабочий.
Скорее всего, вы выводите данные не сразу, а в каком-то другом скрипте, например после редиректа, но почему-то ожидаете, что РНР будет таскать за вами массив $_POST по всему сайту, и при этом помнить, какой именно $_POST вам нужен в данный конкретный момент, среди всех форм, оправленных всеми пользователями на сайте.
Единственное, что можно добавить к теме "заполнить форму пришедшими данными" - это что выводимые данные должны в обязательном порядке
экранироваться.
<form method="POST" action="">
<input type="hidden" name="label" value="<?= htmlspecialchars($_POST["label"]) ?>" />
<input type="hidden" name="amount" value="<?= htmlspecialchars($_POST["amount"]) ?>" />
<input type="submit" name="ok" value="" id="button" />
</form>