OSX Terminal "last" does not show more logins before todays
last works in Sierra like in all older OS X systems equipped with ASL. 

Here is an example of a Sierra VM (first light: installed: Sep 20, 2016):

user  ttys001                       Fri Dec  9 02:31   still logged in
user  ttys000                       Fri Dec  9 02:30   still logged in
user  console                       Fri Dec  9 02:30   still logged in
...
reboot    ~                         Wed Sep 21 00:01 
user  console                       Tue Sep 20 22:18 - crash  (01:42)
reboot    ~                         Tue Sep 20 22:18 
user  ttys000                       Tue Sep 20 22:08 - crash  (00:09)
_mbsetupuser  console               Tue Sep 20 22:01 - crash  (00:17)
user  console                       Tue Sep 20 22:00 - crash  (00:17)
reboot    ~                         Tue Sep 20 21:59 


You can check any misbehavior of last/ASL with Terminal.app:

Open a new shell and enter sudo opensnoop -n last, then open a tab with ⌘T and enter last.

In the first tab you should get something like:

  UID    PID COMM          FD PATH                 
  501   7281 last           3 /dev/dtracehelper    
  501   7281 last           3 /var/log/asl         
  501   7281 last           4 /var/log/asl/2016.12.04.G80.asl 
  501   7281 last          -1 /var/log/asl/2016.12.04.U0.asl 
  501   7281 last           5 /var/log/asl/2016.12.04.U501.asl 
  501   7281 last           6 /var/log/asl/2016.12.05.G80.asl 
  501   7281 last          -1 /var/log/asl/2016.12.05.U0.asl 
  501   7281 last           7 /var/log/asl/2016.12.05.U501.asl 
  501   7281 last           8 /var/log/asl/2016.12.06.G80.asl 
  501   7281 last          -1 /var/log/asl/2016.12.06.U0.asl 
  501   7281 last           9 /var/log/asl/2016.12.06.U501.asl 
  501   7281 last          10 /var/log/asl/2016.12.08.G80.asl 
  501   7281 last          -1 /var/log/asl/2016.12.08.U0.asl 
  501   7281 last          11 /var/log/asl/2016.12.08.U501.asl 
  501   7281 last          12 /var/log/asl/2016.12.09.G80.asl 
  501   7281 last          -1 /var/log/asl/2016.12.09.U0.asl 
  501   7281 last          13 /var/log/asl/2016.12.09.U501.asl 
  501   7281 last          14 /var/log/asl/BB.2017.09.30.G80.asl 
  501   7281 last          15 /var/log/asl/BB.2017.10.30.G80.asl 
  501   7281 last          16 /var/log/asl/BB.2017.11.30.G80.asl 
  501   7281 last          17 /var/log/asl/BB.2017.12.31.G80.asl 
  501   7281 last          18 /var/log/asl/Logs    
  501   7281 last          18 /var/log/asl/StoreData 
  501   7281 last           3 /etc/localtime       
  501   7281 last           3 /usr/share/zoneinfo/UTC


which shows all files opened/read by last. Quit opensnoop by entering: ^C.

If you don't get a similar output check your ASL subsystem (e.g. asl.conf or the launch daemons com.apple.syslogd/com.apple.aslmanager)/the folder /var/log/asl and repair everything if necessary.