schweini Your variance sounds suspiciously like you have a floating timezone in your date object. DateTime defaults to a floating timezone. I don't have any experience with Time::Piece but the Astro::Coords documentation uses DateTime and explicitly sets the timezone on date object creation. Astro::Coords source appears to attempt to convert your time object to UTC prior to calculating celestial coordinates. Timezone conversion requires a defined timezone in the DateTime object (floating time zones don't convert).
See the documentation for "Floating DateTimes" in DateTime for more information