I see a few problems.
First, the base search specifies earliest=-12h so only half a day of events is being sent to timechart , which is trying to display events by day. This is minor.
Second is a major problem. | where Addtime > disctime is trying compare timestamps in text format, which is not possible. Timestamps must be compared in epoch form.
Third, _time must be in epoch form so it's not correct to perform eval _time = strftime... . This is unintuitive because Splunk automatically displays _time in text format.
Try this query:
index=vuns sourcetype="vulndb" earliest=-12h latest=now
| eval Epoch_Time=strptime(VulnerabilityPublishedDate, "%Y-%m-%d")
| eval Addtime=relative_time(Epoch_Time, "+30d")
| where Addtime > _time
| eval _time=Epoch_Time
| stats dc(VulnID) as UniqueVulns by Category _time
| timechart span=1d values(UniqueVulns) by Category
... View more