The issue is not with abs2. From the stacktrace, we have the lines
[1] convert(::Type{Float64}, x::Num)
@ Base .\number.jl:7
[2] setindex!(A::Vector{Float64}, x::Num, i1::Int64)
@ Base .\array.jl:1021
We see here that we are attempting to store a Num into a Vector{Float64} (via setindex!, which is used for x[i] = v syntax). To do this, we see that to do this we attempt to convert a Num to a Float64 so that we can store it, but the MethodError indicates this operation tries Float64(::Num) which is not defined.
A MWE is
using Symbolics
x = zeros(Float64, 1)
v = Num(1.0)
x[1] = v # MethodError
We need to tell the system how to do this conversion. The docs indicate that Symbolics.value can be used to extract the value from a Num.
So a fix is to instead use
x[1] = Symbolics.value(v)
In general, try not to post big code for small problems. You should attempt to localize the problem and create a small example showing the error (this can be difficult initially but gets easier the more familiar you become with the language). I provide an example of doing this above.