Trump said "let's just pay her in cash." Cohen said "no, no, no, I got this".
NDA's are not illegal. Politicians do it all the time, and the US Congress has a slush fund for that purpose.
You just can't use campaign funds to pay them.
Those NDA's were paid by AMI, after Cohen promised Pecker would be reimbursed. Pecker later declined to take the reimbursement, that was not at Trump's request- it angered Cohen at the time.
There was no "slush fund". Trump paid Cohen from his personal funds.
Cohen pled to the violations because he was facing 30-70 years for the tax and banking fraud. He would have said anything to get that reduced.
He will not say anything in court that contradicts what he already pled guilty to, that would violate his plea deal and send him back to prison.