The key to having the status stack is to leave the StackID in the statuses' stats data blank.
If you want the status bonus to change (damage, then crit, and so on), you'll either need to handle that with scripting, or with clever skill property conditions like so:
TARGET:IF(HasStatus:STATUS_BUFF1):STATUS_BUFF2,100,2;TARGET:IF(!HasStatus:STATUS_BUFF1&!HasStatus:STATUS_BUFF2):STATUS_BUFF1,100,2;
You may be able to pull this off with only using the skill properties like this, but it may also just apply all the statuses at once, depending on how it evaluates the condition and then applies the statuses. I'm not sure if it would add the first buff and then immediately add the second, which it may do if it applies the first buff before getting to the second condition.
Keep in mind, this is probably way easier to do with a script (depending on how complex you want this to be), and I don't see a huge advantage to doing it with the skillproperties, since it won't add any flavor to the skill description (and you can make the description look nice yourself anyway, with font colors and StatsDescriptionParams).