How to create a dictionary of all values of addon parameters?
You can use __annotations__ to access your custom properties instead of your conditional list comprehension:

import bpy

my_props = bpy.context.scene.my_props  # Access your custom properties (Replace if needed)
props_dic = '{'  # Open dictionary
for prop_name in my_props.__annotations__:  # Loop over all custom properties names
    value = getattr(my_props, prop_name)  # Access this particular prop value
    value_str = f"'{value}'" if type(value) is str else str(value)  # Transform it to string or add commas if it is already a string
    props_dic += f"'{prop_name}': {value_str}, "  # Add a new entry in the dictionary
props_dic += '}'  # Close dictionary
print(props_dic)


Be aware though that it will only work for 'simple' values, like floats, strings and booleans. If you have more complexe values, like Vectors you will have to add that to your parsing method.

Further and further reading.