It appears that ThermodynamicData has the incorrect reference state for carbon dioxide.
Span and Wagner (1996) define the reference state of CO2 for which entropy and enthalpy are zero to have pressure 0.101325 MPa and temperature 298.15 K (25 C).
The functions below calculate the entropy of saturated vapor and saturated liquid CO2 relative to a specified reference state. The reference state pressure is set to 0.101325 MPa. By varying the reference temperature and comparing the result to the values from Table 34 of Span and Wagner, it appears that ThermodynamicData assumes a reference state with temperature 27.776 C (instead of 25 C).
This discrepancy only affects the absolute value of entropy. The difference in entropy between two states is not affected.
Remove["Global`*"]
Needs["NumericalCalculus`"]
Print["T0 = ", tref = 25.776, " \[Degree]C"] (* temperature of reference state (degrees Celsius) *)
(* Entropy *)
sSatVapor[t_?NumericQ] := Module[{psat, obj, m},
psat = ThermodynamicData["CarbonDioxide",
"LiquidVaporPhaseBoundary", {"Temperature" ->
Quantity[t, "DegreesCelsius"]}];
obj[\[Mu]_?NumericQ] :=
QuantityMagnitude[
ThermodynamicData["CarbonDioxide",
"Entropy", {"Temperature" -> Quantity[t, "DegreesCelsius"],
"Pressure" -> \[Mu]*psat}]] -
QuantityMagnitude[
ThermodynamicData["CarbonDioxide",
"Entropy", {"Temperature" -> Quantity[tref, "DegreesCelsius"],
"Pressure" -> Quantity[0.101325, "Megapascals"]}]];
NLimit[obj[m], m -> 1, Direction -> 1]]
sSatLiquid[t_?NumericQ] := Module[{psat, obj, m},
psat = ThermodynamicData["CarbonDioxide",
"LiquidVaporPhaseBoundary", {"Temperature" ->
Quantity[t, "DegreesCelsius"]}];
obj[\[Mu]_?NumericQ] :=
QuantityMagnitude[
ThermodynamicData["CarbonDioxide",
"Entropy", {"Temperature" -> Quantity[t, "DegreesCelsius"],
"Pressure" -> \[Mu]*psat}] -
ThermodynamicData["CarbonDioxide",
"Entropy", {"Temperature" -> Quantity[tref, "DegreesCelsius"],
"Pressure" -> Quantity[0.101325, "Megapascals"]}]];
NLimit[obj[m], m -> 1, Direction -> -1]]