I have not tested this for syntax, but here is a shot at it for just one of your date variables. Once that is working you can follow the pattern for the rest.
var date PS = [MS PS Spec Signed]; var date AS = [MS AS Spec Signed];
var date PF = [MS PF Spec Signed]; var date AF = [MS AF Spec Signed];
var user Assigned = [Study Design Analyst];
// PST will be the PS date in Text format.
var text PST = List("-",
Right("0" & ToText(Day($PS)),2),
Case(Month($PS),
1,"JAN",
2,"FEB",
3,"MAR",
4,"APR",
5,"MAY",
6,"JUN",
7,"JUL",
8,"AUG",
9,"SEP",
10,"OCT",
11,"NOV",
12,"DEC"),
ToText(Year($PS)));
If(
not IsNull($AS), "<div style=\"color:green;\">" & $AS & "</div>",
not IsNull($PS) and $PS < Today(), "<div style=\"color:red;\">" & $PST & "</div>",
not IsNull($PS), "<div style=\"color:#cca300;\">" & $PST & "</div>",
"<div style=\"color:grey;\">Unscheduled</div>"
)
&
If(
not IsNull($AF), "<div style=\"color:green;\">" & $AF & "</div>",
not IsNull($PF) and $PF < Today(), "<div style=\"color:red;\">" & $PF & "</div>",
not IsNull($PF), "<div style=\"color:#cca300;\">" & $PF & "</div>",
"<div style=\"color:grey;\">Unscheduled</div>"
)
&
If(
not IsNull($Assigned), "<div class=user>"&UserToName($Assigned)&"</div>",
"<div class=user style=\"color:grey;\">Unassigned</div>"
)