How can I send rendered Markdown files to the printer from the command line?
TL;DR You need a markdown renderer which creates Postscript or PDF as output. How to convert from a Markdown file, to PDF may be a bit dated but lists some options on how to accomplish this.

Any output device (be it a Terminal, be it a Printer) uses control codes within the data to display in order to render it properly, usually these control codes are different for each device. Sometimes (e.g. for Postscript or PDF) they are even a whole language on its own.
Now lp relies on CUPS to talk to the printer, CUPS usually only understands how to handle plain text, PostScript, PDF, and image files directly. So you can do cat foo.md | lp/lp foo.md or cat foo.pdf | lp/lp foo.pdf to print the plain markdown file or any PDF. If you send text formatted for terminal output (as mdcat does) it will not lead to the expected result (neither does running man lp | lp usually).