It looks suspiciously like the output from TextEdit's RTF to HTML code. At a minimum, yes, you need to replace pixels with em units. Ordinarily, I would suggest combining rules and specifying multiple rules on paragraphs as needed, except that if you're producing for Kindle, that's likely to break things badly, so....
Anyway, here's a quick first pass at changing px sizes to em sizes.
Code:
<style type="text/css">
p.p1 {margin: 0 0 0 0; text-align: center; text-indent: 1.125em; font: 0.875em Cochin}
p.p2 {margin: 0 0 0 0; text-align: center; text-indent: 1.125em; font: 0.875em Cochin; min-height: 1.063em}
p.p3 {margin: 0 0 0 0; text-indent: 1.125em; font: 0.875em Cochin; min-height: 1.063em}
p.p4 {margin: 0 0 0 0; text-indent: 1.125em; font: 0.875em Cochin}
p.p5 {margin: 0 0 .75em 0; text-align: center; font: 0.938em Optima}
p.p6 {margin: 0 0 0 0; text-align: center; text-indent: 1.125em; font: 0.875em Optima; min-height: 1.063em}
p.p7 {margin: 0 0 0 0; text-align: center; text-indent: 1.125em; font: 0.875em Optima}
p.p8 {margin: 0 0 0 0; text-indent: 1.125em; font: 0.813em Optima; min-height: 0.938em}
p.p9 {margin: 0 0 0 0; font: 0.813em Optima}
p.p10 {margin: 0 0 0 0; text-indent: 1.125em; font: 0.813em Optima}
p.p11 {margin: 0 0 0 0; text-align: justify; font: 0.813em Optima; min-height: 0.938em}
p.p12 {margin: 0 0 0 0; text-align: justify; font: 0.813em Optima}
p.p13 {margin: 0 0 0 0; text-align: justify; text-indent: 1.125em; font: 0.813em Optima; min-height: 0.938em}
p.p14 {margin: 0 0 0 0; text-align: justify; text-indent: 1.125em; font: 0.813em Optima}
p.p15 {margin: 0 0 0 0; text-indent: 1.125em; font: .688em Optima}
p.p16 {margin: 0 0 0 0; text-align: justify; font: 0.813em Optima; color: #323333}
p.p17 {margin: 0 0 0 0; text-align: center; text-indent: 1.125em; font: 0.813em Optima}
p.p18 {margin: 0 0 0 2.572em; text-indent: -2.572em; font: 0.813em Optima}
p.p19 {margin: 0 0 0 0; text-align: center; font: 0.813em Optima}
p.p20 {margin: 0 0 0 0; font: 0.813em Optima; min-height: 0.938em}
p.p21 {margin: 0 0 0 0; text-align: justify; font: 0.875em Cochin; min-height: 1.063em}
p.p22 {margin: 0 0 0 0}
p.p23 {margin: 0 0 0 1.125em; font: 0.813em Optima}
p.p24 {margin: 0 0 0 1.125em; font: 0.813em Optima; min-height: 0.938em}
p.p25 {margin: 0 0 0 0; text-align: center; font: 0.813em Optima; min-height: 0.938em}
p.p26 {margin: 0 0 0 2.572em; text-align: justify; text-indent: -2.572em; font: 0.813em Optima}
p.p27 {margin: 0 0 0 0; text-align: center; font: 0.875em Optima}
p.p28 {margin: 0 0 0 0; font: 0.875em Optima; min-height: 1.063em}
p.p29 {margin: 0 0 0 0; font: 0.875em Optima}
p.p30 {margin: 0 0 0 2.572em; text-indent: -2.572em; font: 0.875em Optima}
p.p31 {margin: 0 0 0 0; text-align: justify; text-indent: 1.125em; font: .688em Optima; min-height: 0.813em}
p.p32 {margin: 0 0 0 0; text-align: center; font: 0.813em Cambria}
p.p33 {margin: 0 0 0 0; text-align: center; font: 0.813em Cambria; min-height: 0.938em}
p.p34 {margin: 0 0 0 0; text-align: center; font: 0.813em Cambria; color: #0433ff}
p.p35 {margin: 0 0 0 0; text-align: center; font: 0.813em 'Times New Roman'; min-height: 1em}
p.p36 {margin: 0 0 0 0; text-align: center; font: 0.813em 'Times New Roman'; color: #0433ff}
li.li9 {margin: 0 0 0 0; font: 0.813em Optima}
li.li12 {margin: 0 0 0 0; text-align: justify; font: 0.813em Optima}
li.li28 {margin: 0 0 0 0; font: 0.875em Optima; min-height: 1.063em}
li.li29 {margin: 0 0 0 0; font: 0.875em Optima}
span.s1 {color: #000000}
span.s2 {font: .563em Optima}
span.s3 {text-decoration: underline}
span.s4 {font: .75em Helvetica}
span.s5 {font: 0.813em Cambria; text-decoration: underline}
span.s6 {font: 0.813em Cambria; color: #000000}
span.s7 {font: 0.813em 'Times New Roman'; text-decoration: underline}
span.s8 {text-decoration: underline ; color: #0433ff}
ol.ol1 {list-style-type: decimal}
ul.ul1 {list-style-type: hyphen}
ul.ul2 {list-style-type: disc}
</style>