This is not a great idea, in general:
I originally was setting inside of customize and had everything working. I wanted to clean up my init.el and I would rather keep everything outside of customize and set it manually.
Yes, keep Customize out of your init file. But that does not mean that you need to abandon use of Customize. Use it for what it's good for. And confine it to its own file, by defining option custom-file
.
For your current problem, you do not need eval-after-load
or any of the other code, to define this option the way you want it. You simply need to do M-x customize-option RET markdown-command RET
and save the value after you update it --- in Customize.
This is the right way to customize user options.