<pd4ml:page.footer> and <pd4ml:page.header> tags do not impact current page (they applied to subsequent pages only). So if you place the definition to the very end of HTML, there is no pages anymore, to apply the footer.

In order to resolve the issue you need to place the footer definition immediately after opening tag or before opening .