from the top of my head, you're confusing between status and status reasons.
Lead status = open, active, lost
Lead lost reasons = demo no show, integration not available etc.
i know this doesnt cover most of your cases but I just shared an example to illustrate the point i was making. maybe think along these lines?